ls의 출력을 분석하지 마십시오.
제 제안은 명령 과 함께 ls [ 1 ] 의 출력을 구문 분석하지 않는 것del
입니다. 이것은 여러 가지 이유로 주로 파일 이름에 허용되지 않는 예기치 않은 문자와 관련이 있습니다.
Linux 패키지에 속하는 파일 이름이 "잘 작동" 할 것으로 예상 되더라도 다른 파일이 동일한 디렉토리에 있지만 모르거나 알지 못하는 경우이 문제가 발생할 수 있습니다.
그것은 더 나은 사용에있어 find
, 탭 확장 (이름을 누르 쓰기 시작 Tab)의 파일 이름 확장 [ 2 ] 로 *MyKey*
...
빠른 솔루션 내부에 "google"이 포함 된
모든 패키지 (로 끝나는 .deb
) 를 선택 하려면 와일드 카드로 요청을 작성하고 간단한 작업을 수행 할 수 있습니다.*
*google*.deb
rm -i *google*.deb
현재 디렉토리에 표시 될 중간에 "google"이 있는 각 파일 이름 을 선택합니다 . 옵션 (대화식)은 확인 메시지를 표시하며, 매개 변수 확장으로 파일을 삭제할 때 좋은 습관입니다..deb
-i
당신의 시도의 철학에 대한 해결책 가까운
당신의 목적은, 조각 후 당신의 명령 줄 조각을 구축하는 작업을 완료 한 그렇다면 ls
, 이후에 ls | grep google
, 그리고 당신이 당신의 출력을 확인 후에 만 이 서브 쉘에서 실행할 수 $(...)
와
rm -i $(ls | grep google)
더 빠르고 더 위험한 방법 [ 3 ] , 사용하는 것입니다!!
ls | grep google
rm -i $(!!)
그것은 당신의 역사에서 완성 된 마지막 명령 을 실행 합니다 . 로 쉘 옵션 histverify
을 미리 활성화 한 경우 실행할 행을 시각적으로 제어 할 수 없다는 사실로부터 자신을 보호 할 수 있습니다 shopt -s histverify
.
rm -i *chrome*.deb