2

私が直面した問題は、何らかの理由でワイルドカード量指定子が xargs を介してコマンドに渡されないことです。

次のような内容のファイルfile1があるとします。

-l
-a
f*

xargs経由でlsに引数を渡す必要があります。

cat file1 | xargs -n3 ls

ls -laコマンドに相当する出力に、端末からの追加機能を追加すると、

ls: cannot access f*: No such file or directory.

しかし、ファイルはディレクトリにあります (ls -la f*適切な出力を返します) たとえば、f* をfile1に置き換えると、正しい出力も得られます。

説明してもらえますか、なぜそれが起こるのですか? ありがとう。

EDIT1:

file1ファイルからシェルインタープリターを介してlsコマンドに引数を渡す方法を追加するのは興味深いようです。以下に例を示します。

ls `xargs -n3 < file1`

ls呼び出しの前にシェル展開が行われるようになりました。ls -la f*

4

2 に答える 2