한 줄만 포함하는 모든 파일을 삭제하고 싶습니다. 각 파일의 줄 수를 나열하려면 wc -l *txt
입니다. rm
을 사용하여 특정 이름의 파일은 삭제하지만 내용은 삭제하지 않는 방법을 알고 있습니다.우분투의 내용에 따라 여러 파일을 삭제하는 방법
아무도 도와 줄 수 있습니까? 많은 감사합니다!
한 줄만 포함하는 모든 파일을 삭제하고 싶습니다. 각 파일의 줄 수를 나열하려면 wc -l *txt
입니다. rm
을 사용하여 특정 이름의 파일은 삭제하지만 내용은 삭제하지 않는 방법을 알고 있습니다.우분투의 내용에 따라 여러 파일을 삭제하는 방법
아무도 도와 줄 수 있습니까? 많은 감사합니다!
이 질문에 대한 모든 답은이 우분투에 존재와는 아무 상관이 없습니다. bash, Linux/* nix/bsd, cygwin (Windows) 또는 Mac 터미널을 사용하여이 작업을 수행 할 수 있습니다.
for i in `ls`; do n1=$(wc $i | awk '{print $1}'); if [ $n1 -eq 1 ]; then rm $i; fi; done
어떨까요?
for i in `ls -1 $dir`
do
if [ `wc -l $i` -eq 1 ]; then
rm $i
fi
done
이 당신을 위해 rm xxx.txt
를 인쇄 할 것이다 oneliner
wc -l *.txt|awk '$1==1{print "rm "$2}'
에 wc
및 awk
을 결합 할 수 있습니다. 당신이 그것을 실행하려는 경우, 단지 파이프 sh
예제 출력 :
kent$ wc -l *.txt
1 a.txt
1 b.txt
2 c.txt
2 d.txt
1 e.txt
7 total
kent$ wc -l *.txt|awk '$1==1{print "rm "$2}'
rm a.txt
rm b.txt
rm e.txt
kent$ wc -l *.txt|awk '$1==1{print "rm "$2}'|sh
kent$ l
total 8.0K
-rw-r--r-- 1 kent kent 4 Mar 4 16:41 c.txt
-rw-r--r-- 1 kent kent 4 Mar 4 16:41 d.txt
+1. 난 정말 좋아. – fedorqui
파일에서 해당 줄을 삭제 하시겠습니까, 아니면 파일 자체를 삭제 하시겠습니까? – hek2mgl
@ hek2mgl 나는 그 자체로 파일 자체를 삭제하는 것을 의미한다! – manxing
현재 디렉토리에서? 아니면 재귀? – hek2mgl