重命名文件并移动到其他路径

重命名文件并移动到其他路径

我需要重命名下面给出的文件并移动到其他路径

1234551abcde20140718023216001.txt.809047512.2014_07_07_13:47:44
000001abcde20140718023216001.txt.34568.001.2014_07_07_13:50:44
44444abcded20140718023216001.txt.1111111.2014_07_07_13:47:44

预期结果

1234551abcde20140718023216001.txt.809047512
000001abcde20140718023216001.txt.34568.001
44444abcded20140718023216001.txt.1111111

只是我需要删除每次与文件名附加的时间戳,并将其移动到 AIX 中的其他目录

我试过了,供你参考。

#!/usr/bin/ksh
file1=`echo 1234551abcde20140718023216001.txt.809047512.2014_07_07_13:47:44 | awk -F "." '{for(i=1;i<NF;i++) if ($i!= 1) f=f?f FS $i:$i;print f;f=""}'`
echo $file1

答案1

awk 不会让你的生活变得更轻松。您可以使用后缀删除语法:是删除形式的最短后缀${x%.*}的变量值。x.*

for x in *.txt.*.*; do
  mv "$x" "/other/directory/${x%.*}"
done

相关内容