我文件夹中的所有文件都是这样命名的:
aodv-0-0.pcap aodv-1-0.pcap aodv-2-0.pcap aodv-3-0.pcap
等
是否有机会将它们重命名为:
1.pcap 2.pcap 3.pcap 4.pcap
aodv-0-0 ------> 1 aodv-1-0 ------> 2 等
我尝试使用“重命名”,但我不知道如何增加文件名中的数字。
#RENAMING the files printf "...RENAMING the files to get proper a nodeID...\n" cd /home/marcin/workspace/bake/source/ns-3.19/RESULTS/TRAFFIC_LIGHTS/ rename aodv- "" *.pcap
使用后我得到:
aodv-0-0.pcap ---> 0-0.pcap (and i need 1.pcap)
aodv-1-0.pcap ---> 1-0.pcap (and i need 2.pcap)
然后我可以使用数字(只是数字)作为变量“nodeID”。 我使用“basename”函数将文件名作为变量获取,但我不再需要“.pcap”扩展名作为变量。
提前致谢
答案 0 :(得分:1)
ls aodv* | sed -e "p;s/aodv-//" -e "s/-.//" |xargs -n2 mv
反对增加:
ls aodv*|awk -F\. 'split($1,a,"-"){print $0,a[2]+1""FS""$2}'|xargs -n2 mv
ls输出通过管道输出到sed,然后我们使用p标志打印参数而不做任何修改,换句话说,就是文件的原始名称。
下一步是使用substitute命令更改文件扩展名。
结果是一个由old_file_name - >序列组成的组合输出。 new_file_name。
最后,我们通过xargs管理生成的Feed以获得文件的有效重命名。
http://nixtip.wordpress.com/2010/10/20/using-xargs-to-rename-multiple-files/