Bashコマンドseqで中身のあるファイルを規則的に生成
Linuxコマンドライン言語であるBashのseqコマンドを使用して、規則的に中身のあるファイルを生成する方法について紹介します。
手順
以下のコマンドを実行すると、1から3までの番号が付いたファイル(1.txt、2.txt、3.txt)が生成され、それぞれのファイルには対応する番号が書き込まれます。
ASUS:/mnt/c/pg/$ seq 1 3 | xargs -I {} bash -c "echo {} > {}.txt"
ASUS:/mnt/c/pg/$ ls
1.txt 2.txt 3.txt
ASUS:/mnt/c/pg/$ cat 1.txt 2.txt 3.txt
1
2
3
コマンドの詳細
-
seq 1 3:- 1から3までの連続した数字を出力します。
-
xargs -I {} bash -c "echo {} > {}.txt":xargsコマンドは、seqコマンドの出力を受け取り、それぞれの数字に対してechoコマンドを実行します。-I {}は、xargsのプレースホルダーで、各数字がここに挿入されます。bash -c "echo {} > {}.txt"は、各数字をファイル名として、そのファイルに数字を書き込むためのBashコマンドです。
実行結果の確認
コマンドの実行後、次のようにファイルが生成され、それぞれのファイルには対応する番号が書き込まれます。
ASUS:/mnt/c/pg/$ ls
1.txt 2.txt 3.txt
ASUS:/mnt/c/pg/$ cat 1.txt 2.txt 3.txt
1
2
3
これで、規則的に中身のあるファイルを生成する方法が確認できました。さらに詳細な使用例や応用については、Bashのドキュメントや関連資料を参照してください。