파일 이름은 "FAI_4O57A"와 같이 3 개의 영문자와 밑줄이 있고, 길이가 1-7 (길이) 이하이며 단일 알파벳이 계속됩니다.awk를 사용하는 자동 파일 이름
처음 네 개의 문자를 추출하고 000001보다 000001 등의 고유 숫자로 다른 숫자를 바꾸고 싶습니다. (자동으로 파일 이름을 지정합니다.)
awk를 사용하여이를 수행하는 방법. 또는 sed. 어떤 도움을 주시면 감사하겠습니다. 감사합니다. . 이 일을
파일 이름은 "FAI_4O57A"와 같이 3 개의 영문자와 밑줄이 있고, 길이가 1-7 (길이) 이하이며 단일 알파벳이 계속됩니다.awk를 사용하는 자동 파일 이름
처음 네 개의 문자를 추출하고 000001보다 000001 등의 고유 숫자로 다른 숫자를 바꾸고 싶습니다. (자동으로 파일 이름을 지정합니다.)
awk를 사용하여이를 수행하는 방법. 또는 sed. 어떤 도움을 주시면 감사하겠습니다. 감사합니다. . 이 일을
시도 :
rename -n '$c++; s/^(.{4}).*/sprintf("%s%05d", $1, $c)/e' [A-Z][A-Z][A-Z]_*
당신은 펄의 rename
이 this
은 당신의 검사 결과가 확인되는 -n
스위치 (드라이 런 모드) 제거를 참조해야합니다.
Ex. : 당신이 정말로 원하는 경우
$ ls -1
DEF_FAI_4O58A
FAI_4O57A
FTH_4O59A
box.py
index.html
robots.txt
test.html
$ rename -n '$c++; s/^(.{4}).*/sprintf("%s%04d", $1, $c)/e' [A-Z][A-Z][A-Z]_*
DEF_FAI_4O58A -> DEF_0001
FAI_4O57A -> FAI_0002
FTH_4O59A -> FTH_0003
는 awk 그것을 할 수 있습니다 :
printf '%s\n' [A-Z][A-Z][A-Z]_* |
awk '{c++; printf("%s%04d\n", substr($1, 0, 4), c)}'
편집 :
:당신이 YOUR_OWN_FILE
에 열을 치료해야하는 경우 awk
와
rename -n '$c++; s/^(.{4}).*/sprintf("%s%04d", $1, $c)/e' $(awk '{print $2}' YOUR_OWN_FILE)
한 가지 방법은 :
awk '{cnt=sprintf("%06d", ++s);$1=substr($1,1,4) cnt}1' inputFile
나는 파일이 열이 있고 사단의 coummns 파일 이름과 파일의 두 번째 열 절대 경로를 포함합니다. 예. FAE_12A 홈/사용자/some_direcotry/FAE_12A.wav 사단이 감사하는 _file_에서 또는 _file의 name_에서 – KKK
을 columnn에 대한 가 어떻게 위의 형식을 변경해야합니까? –
텍스트 파일 2 열, Ist 열 filename 및 두 번째 열 path_to_file. – KKK