"xargs"에 대한 인수 앞에 공백이 붙는 것을 방지하는 방법은 무엇입니까?

"xargs"에 대한 인수 앞에 공백이 붙는 것을 방지하는 방법은 무엇입니까?

하위 디렉토리에 내용이 저장되지 않은 아카이브를 다른 파일로 가득 찬 디렉토리로 추출했는데 이제는 어수선하고 어지러워졌습니다.

이 문제를 해결하기 위해 아카이브를 새로운 빈 디렉터리에 추출하고 여기에 나열된 디렉터리를 사용하여 첫 번째 디렉터리에서 난독화된 파일을 제거하려고 합니다. 파일은 처음에 "/usr/src/packages" 디렉토리에 추출되었으며 새 디렉토리는 ~/Programs/DBeaver.

vfclists@hp01:~/Programs/DBeaver$ ls -l
total 216
-rw-r--r--  1 vfclists vfclists 48943 Oct 23 23:28 artifacts.xml
drwxr-xr-x  4 vfclists vfclists  4096 Oct 23 23:28 configuration
-rwxr-xr-x  1 vfclists vfclists 79058 Oct 23 22:58 dbeaver
-rw-r--r--  1 vfclists vfclists   206 Oct 23 23:28 dbeaver.ini
-rw-r--r--  1 vfclists vfclists  7919 Oct  9 14:05 dbeaver.png
drwxr-xr-x 23 vfclists vfclists  4096 Oct 23 23:28 features
-rwxr-xr-x  1 vfclists vfclists 35021 Oct 23 22:58 icon.xpm
drwxr-xr-x  2 vfclists vfclists  4096 Oct 23 23:28 licenses
drwxr-xr-x  4 vfclists vfclists  4096 Oct 23 23:28 p2
drwxr-xr-x  6 vfclists vfclists 20480 Oct 23 23:28 plugins
-rw-r--r--  1 vfclists vfclists  1791 Oct 23 23:28 readme.txt
vfclists@hp01:~/Programs/DBeaver$ 

그래서 내가 원하는 것은 lsxargs의 출력을 파이프하는 것이지만 명령을 실행할 때 파일 이름 앞에 공백이 추가되므로 다음과 같은 테스트 출력이 나타납니다.

vfclists@hp01:~/Programs/DBeaver$ ls  | xargs -n 1 echo rm /usr/src/packages/
rm /usr/src/packages/ artifacts.xml
rm /usr/src/packages/ configuration
rm /usr/src/packages/ dbeaver
rm /usr/src/packages/ dbeaver.ini
rm /usr/src/packages/ dbeaver.png
rm /usr/src/packages/ features
rm /usr/src/packages/ icon.xpm
rm /usr/src/packages/ licenses
rm /usr/src/packages/ p2
rm /usr/src/packages/ plugins
rm /usr/src/packages/ readme.txt

디렉터리와 파일을 구분하는 문제도 있지만 먼저 그 문제를 다루고 싶습니다.

rm -rf업데이트: 이 경우에는 중요하지 않은 파일 및 디렉터리에 대해 작동하는 것으로 밝혀졌으므로 방금 rm xxxx교체했습니다 .rm -rf xxxx

답변1

및 인수를 표시할 위치를 사용하세요 -I {}.{}

xargs -I {} -n 1 echo rm /usr/src/packages/{}

( 일반적인 {}, 이외의 것을 사용해도 됩니다 .){}

이것이 없으면 xargs입력을 추가 인수로 추가하기만 하면 모든 곳에 공백을 추가하는 것이 문제가 되지 않습니다. 명령은 입력을 별도의 인수로 받습니다.

특히 파일과 디렉터리를 구별하려는 경우에는 find대신 을 사용해야 합니다 .ls

다음과 같이 파일을 삭제하면 됩니다.

find . -type f -exec rm /usr/src/packages/{} \;

관련 정보