다음과 같은 파일이 많이 있습니다.
2007.365.00.00.00.0000.9A.CVSV4..HHZ.D.SAC.GAP.decim10.GAP
결국 내가 원하는 것은 이것이다.
2007.365.00.00.CVSV4.HHZ.SAC
나는 이것을 시도했습니다 :
for file in /home/joana/Desktop/*GAP; do
mv "$file" `echo "$file" | sed -e 's/00.0000.9A.//' -e 's/.D//' -e 's/.GAP.decim10.GAP//'`;
done
안다, 나는 이해합니다:
mv: cannot move ‘/home/joana/Desktop/2007.365.00.00.00.0000.9A.CVSV4..HHZ.D.SAC.GAP.decim10.GAP’ to ‘/home/joanaesktop/2007.365.00.00.CVSV4..HHZ.D.SAC’: No such file or directory
누구든지 나를 도와줄 수 있나요? 많은 예를 보았지만 아마도 뭔가 잘못하고 있는 것 같습니다.
답변1
출력에 만족하면 에코를 제거하십시오(mv 이전).
for file in *GAP
do
NEW_FILE=$(echo ${file} | awk -F. '{print $1,$2,$3,$4,$8,$10,$12}' OFS=.)
echo mv ${file} ${NEW_FILE}
done