특정 파일을 선택해서 삭제하려면

ytt123의 이미지

file_A-B.dat 형태로된 파일들이 들어 있는 디렉토리에서
A와 B가 같은 파일만 골라서 지우고 싶은데요,

가령,
file_1-1.dat
file_2-2.dat
file_3-3.dat
...
는 선택해서 삭제하고,

file_1-3.dat
file_1-2.dat
...
같은 파일은 남겨두고 싶어요.

어떤 방법이 효율적일까요?

감사합니다~!

pynoos의 이미지

awk를 써서 표현하자면

ls | awk -F "[_.-]" '{ if( $2 == $3 ) print $0 }'

이렇게 해서 잘 나오는지 확인하시고

ls | awk -F "[_.-]" '{ if( $2 == $3 ) print "rm", $0 }' | sh

로 삭제하시면 될듯.

ymir의 이미지

for file in file_*.dat; do set -a $(sed 's/file_\([0-9]*\)-\([0-9]*\).dat/\1 \2/' <<<$file); [ "$1" = "$2" ] && /bin/rm -f $file; done

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

qiiiiiiiip의 이미지

ls | grep "^file_\([^-]\+\)-\1.dat" | xargs rm -f