0

次のようなコマンドを含むファイルがあります。

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

必要なコマンドをファイルから直接コピーして貼り付けると、正常に機能します。これを行うためのより良い方法はありますか?

4

2 に答える 2

2

ファイルに偽のキャリッジ リターンが含まれている可能性があります (Windows で作成されたものですか?)。それらを削除するtr代わりに使用します。cat

tr -d '\015' <commands | grep 1.out | sh
于 2012-12-26T00:23:11.780 に答える
0

してみてください

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

これにより、奇妙な文字は無視され、必要なものだけが取得されます。

于 2012-12-26T00:35:53.807 に答える