한 폴더에 8개의 파일이 있습니다. 이러한 파일 중 하나에 2줄이 있으면 해당 파일에서 두 번째 줄을 제거해야 합니다. 파일이 2줄보다 길면 아무 작업도 수행할 필요가 없습니다.
답변1
이 스크립트를 사용해 보세요. 잘 작동합니다.
for file in $(ls *.txt)
do
LINENUMB=`wc -l $file | cut -f1 -d' '`
if [[ $LINENUMB == 2 ]]; then
sed -i '$d' $file
fi
done
답변2
그리고 :find
sed
find -type f -exec sh -c '[[ $(sed -n $= $0) -eq 2 ]]' {} \; -exec sed -i '1!d' {} +
참고: 이는 find
디렉토리 구조에 따라 PATH
조정 되어야 합니다 -maxdepth
.