我有一个包含类似命令的文件:
cat /home/ptay89/test/01.out
cat /home/ptay89/testing/02.out
...
但我只想要其中一些执行。例如,如果我只想看到以1.out结尾的输出文件,我可以这样做:
cat commands | grep 1.out | sh
但是,我为命令文件中的每一行获得以下输出:
: cannot be loaded - no such file or directoryst/01.out
当我直接从文件中复制并传递我想要的命令时,它可以正常工作。有更好的方法吗?
答案 0 :(得分:3)
您的文件中可能有伪造的回车(在Windows下创建?)。使用tr
代替cat
删除它们:
tr -d '\015' <commands | grep 1.out | sh
答案 1 :(得分:0)
尝试做
grep -e '^cat.*out' commands | grep 1.out | sh
这应该忽略任何奇怪的角色,只采取你需要的角色。