.txtファイルの行を使用してファイルを作成するには?

.txtファイルの行を使用してファイルを作成するには?

たとえば、fileNames.txtというファイルがあります。 cat >fileNames返品

abet

able

abacus

ファイル名を使用してabet、able、a​​bacusを.txtファイルにする方法は?猫とタッチでパイプを使ってみました。

ベストアンサー1

これを行うには、次のようないくつかの方法があります(GNU仮定xargs)。

sed -e '/^[[:space:]]*$/d' -e 's/$/.txt/' fileNames.txt | xargs -rd '\n' touch --

fileNames.txt の各行にはファイル名が 1 つしかないとします。スクリプトsedは空の行を削除し(@rubynorailsに感謝します)、各ファイル名の末尾に「.txt」を追加してから.txtに接続しますxargs touch

これを使用して、-d '\n'xargs(スペースではなく区切り文字で改行または '\ n'のみを使用して引用符の処理を無効にするように指示するGNU拡張)の名前(改行文字を除く)と一緒にオプションを指定します。たとえば、行に「abetable」が含まれていて含まれていない場合、2つのファイルが作成されます(および)。これを使用すると、1つのファイルのみが生成されます。xargs\n-d '\n'abetable.txtabet able.txt

おすすめ記事