【问题标题】:one liner command to find files and print specific line一个线性命令来查找文件并打印特定行
【发布时间】:2022-10-12 21:38:47
【问题描述】:

我想运行一个 find 命令来获取文件列表,然后运行 ​​sed 命令在屏幕上显示特定的行内容。它可以通过下面的 bash 脚本来完成。

flst=`find . -name zipfile.py`
for f in $flst; do
    sed -n '756p' $f
done

如何使用一个线性命令在 bash 命令行中实现相同的命令?

【问题讨论】:

  • 类似于find . -name zipfile.py -exec sed -n '756p' {} \;。这是未经测试的,但可能很接近。
  • 在 bash 中,您不需要 find,只要您打开全球星选项。那么sed -n 756p **/zipfile.py 就足够了(未经测试!)。

标签: bash


【解决方案1】:

正如 Gene 所建议的,我已经测试了这个命令,它可以工作:

find . -name zipfile.py -exec sed -n '756p' {} ;

【讨论】:

    【解决方案2】:

    您可以删除换行符并将特定的换行符替换为;

    flst=`find . -name zipfile.py` ; for f in $flst; do sed -n '756p' $f ; done
    

    【讨论】:

      猜你喜欢
      • 2020-12-04
      • 2016-02-16
      • 2022-01-13
      • 1970-01-01
      • 2014-05-14
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      相关资源
      最近更新 更多