スペースを含むリストからファイルを作成する方法

スペースを含むリストからファイルを作成する方法

次のリストからファイルを作成したいと思います。

リストにスペースがないと問題はありませんが、問題はスペースがあることです。

user@linux:~$ cat file.txt 
Apples
Bing Cherry
Crab Apples
Dragon Fruit
user@linux:~$ 

今後

ser@pc:~$ ls -l
total 4
-rw-r--r-- 1 user user 44 Jun   9 14:06 file.txt
user@linux:~$ 

xargstouch

user@linux:~$ cat file.txt | xargs touch 
user@linux:~$ 

Apples, Bing Cherry, Crab Apples, Dragon Fruitこのコマンドは、これらの出力を生成するのではなく生成します。

後ろに

user@linux:~$ ls -l
total 4
-rw-r--r-- 1 user user  0 Jun   9 14:11 Apples
-rw-r--r-- 1 user user  0 Jun   9 14:11 Bing
-rw-r--r-- 1 user user  0 Jun   9 14:11 Cherry
-rw-r--r-- 1 user user  0 Jun   9 14:11 Crab
-rw-r--r-- 1 user user  0 Jun   9 14:11 Dragon
-rw-r--r-- 1 user user 44 Jun   9 14:06 file.txt
-rw-r--r-- 1 user user  0 Jun   9 14:11 Fruit
user@linux:~$ 

このような状況では、空間をどうすればいいですか?

ベストアンサー1

GNU 実装では、xargs/ オプションを使用して改行文字を区切り文字として指定できます。-d--delimiter

xargs --no-run-if-empty --delimiter='\n' --arg-file=file.txt touch --

短いオプションの場合:

xargs -r -d '\n' -a file.txt touch --

おすすめ記事