【问题标题】:How can I pass command line arguments to sed?如何将命令行参数传递给 sed?
【发布时间】:2014-01-13 18:52:09
【问题描述】:

我正在尝试通过我的制作过程更新 deb 控制文件,这样我就不需要每次都手动更新它。该文件只有一行:Installed-Size: 123。我想用安装的实际大小替换 123 。

到目前为止,我有两块:du -s FOLDER 可以满足我的需要,sed -i "s/Install-Size: .*/Install-Size: 321/" FOLDER/DEBIAN/control。问题是我需要将 du 的输出的第一部分放入 sed 的替换字符串中。我该怎么做?

【问题讨论】:

    标签: bash shell ubuntu command-line sh


    【解决方案1】:

    执行以下操作:

     sed -i "s/Install-Size: .*/Install-Size: $(du -s FOLDER | cut -f1)/" FOLDER/DEBIAN/control
    

    【讨论】:

    • 不包括文件夹名称和大小吗?此外,一般来说,最好使用$(du -s FOLDER | sed 's/ .*//') 符号代替反引号。
    • 编辑为不包含文件夹名称
    • sh -c$() 表示法中是不必要的。
    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 2012-09-01
    • 2020-08-02
    • 2020-09-02
    • 2014-05-03
    • 2011-10-14
    • 1970-01-01
    相关资源
    最近更新 更多