V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Alife
V2EX  ›  Linux

如何把输出结果(可以部分内容)作为重定向文件的文件名

  •  
  •   Alife · 2016-03-16 17:02:31 +08:00 · 2889 次点击
    这是一个创建于 2090 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在用 winscp ,想使用 自定义命令 来查看选中的目录大小(包含子目录)
    主要是 winscp 自带的计算速度太慢

    假如有目录 aaa,执行 du -sh aaa 输出 652K aaa
    我添加了一个自定义命令 du -sh "!" > "!"-size.txt
    执行后,当前目录下生成 aaa-size.txt 内容为 652K aaa

    有没有什么方法可以把输出结果作为重定向文件的文件名
    如上述命名生成的文件名直接为 aaa-size-652K.txt

    google 搜索了半天,没搜出来,可能关键字不对.

    9 条回复    2016-03-16 19:05:41 +08:00
    Strikeactor
        1
    Strikeactor  
       2016-03-16 17:10:36 +08:00
    先把输出赋值给变量,然后在创建文件时使用变量呗
    Alife
        2
    Alife  
    OP
       2016-03-16 17:17:03 +08:00
    @Strikeactor 谢谢回答先. 好像可以,我去试试先
    Counter
        3
    Counter  
       2016-03-16 17:24:13 +08:00
    这样喵?
    touch $(du -sh aaa | cut -d " " -f 2)-size-$(du -sh aaa | cut -d " " -f 1).txt
    Alife
        4
    Alife  
    OP
       2016-03-16 17:33:52 +08:00
    @Counter 这个好,但是会生成三个文件 aaa.txt, 652K, aaa-size-652K 求完美
    Counter
        5
    Counter  
       2016-03-16 17:42:19 +08:00   ❤️ 1
    @Alife 可能是跟 du -sh aaa 的输出有关,假设输出是 652K aaa ,作为测试
    命令 touch $(du -sh aaa | cut -d " " -f 2)-size-$(du -sh aaa | cut -d " " -f 1).txt
    等同于 touch $(echo 652K aaa | cut -d " " -f 2)-size-$(echo 652K aaa | cut -d " " -f 1).txt
    建议研究下 du -sh aaa 的输出
    xujif
        6
    xujif  
       2016-03-16 17:50:51 +08:00   ❤️ 1
    du -sh * | awk '{print $2"-size-"$1".txt"}' | xargs -i touch {}
    Alife
        7
    Alife  
    OP
       2016-03-16 18:21:21 +08:00
    @Counter 好了,输出的内容中间是个 tab 不是空格, cut 后面改成 tab 就好了
    Alife
        8
    Alife  
    OP
       2016-03-16 18:22:18 +08:00
    好了,谢谢大家,结贴
    Counter
        9
    Counter  
       2016-03-16 19:05:41 +08:00 via iPhone
    @Alife 其实更推荐 6 楼的方法,同样的
    touch $(du -sh aaa | awk '{print $2"-size-"$1".txt"}')
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1179 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:39 · PVG 07:39 · LAX 15:39 · JFK 18:39
    ♥ Do have faith in what you're doing.