2011-10-18 148 views
0

我想重命名這些文件不具有的結局(.processed2011 *)重命名多個文件名(除去文件名的結尾)

所以,基本上,重命名

self_reported_user_activity_1404414367_131826464204632784.csv。 processed20111011014111557
self_reported_user_activity_1404539338_131826361077732732.csv.processed20111011021401718 self_reported_user_activity_1404418376_131826222854532675.csv.processed20111011014301356
self_reported_user_activity_1404539858_131826370284032733.csv.processed2011101102143170 8

self_reported_user_activity_1404414367_131826464204632784.csv self_reported_user_activity_1404539338_131826361077732732.csv self_reported_user_activity_1404418376_131826222854532675.csv self_reported_user_activity_1404539858_131826370284032733.csv


我的 '重命名' 的命令是以下(不含正則表達式):

NAME 重命名 - 重命名文件 概要 從到文件重命名......

感謝

+1

http://theunixshell.blogspot.com/2013/01/bulk-renaming-of-files-in-unix.html – Vijay

回答

1

我會嘗試使用「剪切」命令。類似這樣的:

for f in * 
do 
    g=`cut -d"." -f2` 
    mv $f $g 
done 
0

嘗試${string%substring}它刪除的substring從字符串後面的最長匹配。所以,如果line包含self_...

newline=${line%.*}