
다음 목록에서 파일을 생성하고 싶습니다.
목록에 공백이 없으면 문제가 없습니다. 하지만 문제는 공백이 있다는 것입니다.
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 --