1

ある同僚が、rm と xargs を使用して .txt にリストされたファイル名を削除する気の利いた方法を教えてくれましたが、彼が何をしたか思い出せません。

走った

echo | xargs -a file.txt

file.txt が含まれている場所

1
2
3
4

そして、それは印刷されました

1 2 3 4

私の論理はそれを言います

rm | xargs -a file.txt

私が作成した 1 と 2 と 3 と 4 というタイトルのファイルを削除する必要があります。

しかし、それは私が得る行動ではありません。

この単純なコマンドを作成するにはどうすればよいですか?

4

3 に答える 3

5

私はあなたが望むと信じています:

xargs -a file.txt rm

xargs の最後の引数は、ファイル内のすべてのアイテムに対して実行するコマンドにする必要があります。

Lynch によって提案されたソリューションも有効であり、これと同等です。

于 2013-05-16T19:16:48.393 に答える
3

このコマンドを試してください: xargs rm < file.txt

xargs は、入力のすべての行を取得し、指定したコマンドに追加します。したがって、file.txt に以下が含まれている場合:

a
b

次に xargs が実行されますrm a b

于 2013-05-16T19:16:14.747 に答える