2011-10-18 8 views
0

나는 그래서, 기본적으로,이름 바꾸기 여러 파일 이름은

self_reported_user_activity_1404414367_131826464204632784.csv의 이름을 변경의 결말 (.processed2011 *)

이없는이 파일의 이름을 변경하고 싶습니다. 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

NAME : 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


내 명령은 (정규식없이) 다음은 '이름 바꾸기' 이름 바꾸기 - ... 파일을 파일에서 이름 SYNOPSIS의 이름을 변경

감사

+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

문자열의 뒷면에서 substring의 가장 긴 일치를 삭제 ${string%substring}을보십시오. line가 포함 된 경우 그래서 self_... :

newline=${line%.*}