Bash在脚本中执行行的子集



我有一个文件,其中包含如下命令:

cat /home/ptay89/test/01.out
cat /home/ptay89/testing/02.out
...

但是我只希望其中几个执行。例如,如果我只想看到以1结尾的输出文件。我可以这样做:

cat commands | grep 1.out | sh
但是,对于命令文件中的每一行,我得到以下输出:
: cannot be loaded - no such file or directoryst/01.out

当我直接从文件中复制并传递我想要的命令时,它工作得很好。有更好的方法吗?

您的文件(在Windows下创建的?)中可能有虚假的回车。使用tr代替cat来删除它们:

tr -d '15' <commands | grep 1.out | sh

试试

grep -e '^cat.*out' commands | grep 1.out | sh

应该忽略任何奇怪的字符,只取你需要的字符。

相关内容

  • 没有找到相关文章

最新更新