我有很多这样的文件:
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