![Linux에서 소스 코드 기반 파일 형식을 제거하는 방법은 무엇입니까?](https://linux55.com/image/176197/Linux%EC%97%90%EC%84%9C%20%EC%86%8C%EC%8A%A4%20%EC%BD%94%EB%93%9C%20%EA%B8%B0%EB%B0%98%20%ED%8C%8C%EC%9D%BC%20%ED%98%95%EC%8B%9D%EC%9D%84%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
텍스트와 소스 코드로 구성된 스크랩된 원시 파일 목록이 있습니다. 다음은 나열된 파일 형식입니다. C 소스, Python 스크립트, HTML 및 빈 파일 유형의 모든 파일을 제거하고 ASCII 및 유니코드 파일만 유지하고 싶습니다.
file *
1dW6WJMN.txt: Python script, ASCII text executable
9dJbZ3Vv.txt: ASCII text, with CRLF line terminators
9dQsmVU4.txt: Python script, UTF-8 Unicode text executable, with CRLF line terminators
A5hENB7D.txt: C source, ASCII text, with CRLF line terminators
cidREdJG.txt: UTF-8 Unicode text, with very long lines, with CRLF line terminators
exhjw1gK.txt: UTF-8 Unicode text, with CRLF line terminators
iu7LPrqz.txt: ASCII text, with very long lines, with CRLF line terminators
LsDHarjD.txt: ASCII text
nLABt1a6.txt: C source, ASCII text, with CRLF line terminators
nqMDtVuz.txt: ASCII text, with CRLF line terminators
nqPuYb23.txt: UTF-8 Unicode text, with CRLF line terminators
nQtzxhfQ.txt: ASCII text, with CRLF line terminators
NQuLWwpt.txt: ASCII text, with CRLF line terminators
nQXeJeED.txt: ASCII text, with CRLF line terminators
nqXGv6ws.txt: UTF-8 Unicode text, with CRLF line terminators
nQxr4Hwi.txt: ASCII text, with CRLF line terminators
nQxr4Hwii.txt: empty
VQjrxevh.txt: HTML document, UTF-8 Unicode text, with very long lines, with CRLF line terminators
yfDEfn4L.txt: C source, ASCII text, with CRLF line terminators
yydAEDRn.txt: HTML document, ASCII text, with very long lines, with CRLF line terminators
ASCII로 간단한 grep을 사용해 보았지만 모든 소스 코드 파일에는 ASCII라는 용어도 포함되어 있습니다. 때로는 삭제하고 싶은 PHP, 자바스크립트 파일이 있기 때문에 이러한 소스 코드 파일을 필터링할 수 있는 다른 방법이 있습니까? 저는 Linux를 처음 접했습니다. 도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다
답변1
더 긴 패턴을 시도해 보세요. 공백, 탭 또는 여러 단어가 포함된 패턴을 사용할 수 있습니다. 또한 파이프를 사용하는 증분 방식을 권장합니다.
$ file * | egrep -v 'ASCII text|Unicode text' | sed 's/: ..*$//'
원하는 파일 이름 목록이 표시되지 않으면 위쪽 화살표를 클릭하고 파일의 일부 또는 다른 부분과 일치하도록 패턴을 편집하세요.file
마지막 단계는 출력을 명령으로 가득 찬 파일로 보내는 것일 수 있습니다.
$ file * | egrep -v 'ASCII text|Unicode text' | sed -e 's/: ..*$//' -e 's/^/rm / > commands
commands
파일 내용의 정확성을 확인하면 마지막 번거로운 상황을 없앨 수 있습니다. 파이프라인을 사용하여 95% 목표를 달성한 다음 수동으로 편집하세요. 부끄러워 할 것이 없습니다. 그런 다음 파이프에 의해 작성된 명령을 실행하십시오.
$ sh ./commands