Как создать файлы из списка, содержащего пробел

Как создать файлы из списка, содержащего пробел

Я хотел бы создать файлы из следующего списка.

Нет проблем, если в списке нет пробела... но проблема в том, что он есть

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:~$ 

xargs касание

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 --

Связанный контент