我需要重命名下面给出的文件并移动到其他路径
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