GNU/Linux >> Linux の 問題 >  >> Linux

テキストファイルのすべての行に対してコマンドを実行する

したがって、次のようなテキストファイルがあります:

file1
file2
..

そして、ファイルの各行でコマンドを実行したいとします(たとえば、chmod 644)。 UNIXのすべてのものと同様に、それを行うには複数の方法がありますが、ここに簡単で汚い答えがあります:

xargs -0 -n 1 chmod 644 < <(tr \\n \\0 <filelist.txt)

したがって、これはstdでxargsを実行します。 input(filelist.txt)。
-nは最大引数です–この場合、1つの引数があります。 (ファイル内のファイルのリスト–行ごと)
-0は、入力行が空白ではなくnull文字で終了することを意味します。
最後に、trを実行して削除します。文字、この場合は改行と空白を削除します。


Linux
  1. このコマンドライントリックでPDFサイズを縮小する

  2. Patool –ポータブルコマンドラインアーカイブファイルマネージャー

  3. ルートとしてコマンドラインからソフトウェアセンターを実行していますか?

  1. コマンド ラインから CSV などの表形式ファイルを表示する

  2. 現在のディレクトリ内のすべてのファイルに対してコマンドを実行します

  3. コマンドラインからの PostgreSQL CSV インポート

  1. SshでChromiumコマンドラインを強制終了する方法は?

  2. Linuxでjar内のファイルをコマンドラインに置き換える方法は?

  3. Ubuntu の SSH コマンドラインの代替