디렉토리에 다음 네 개의 파일이 있습니다.
TRAILBLAZER_107-10016_FTP_SCR_CT_CTAC
TRAILBLAZER_107-10016_FTP_SCR_CT_Recon
TRAILBLAZER_107-10016_FTP_SCR_PET_NAC
TRAILBLAZER_107-10016_FTP_SCR_PET_AC_Frames
그리고 각 파일을 살펴보고 이름의 특정 키워드를 기반으로 파일 이름을 변경하는 간단한 for 루프를 만들었습니다. 이것은 본질적으로 맨 아래 두 파일의 이름을 변경합니다.
for file in TRAILBLAZER*
do
mv "$file" "${file/PET_AC/PET_TESTAC}"
mv "$file" "${file/PET_NAC/TESTNAC}"
done
for 루프에 의해 변경된 파일 수와 변경되지 않은 디렉토리의 파일 수를 어떻게 에코 할 수 있습니까?
(교체 하위 문자열과) 매개 변수 확장 이 성공 또는 실패 여부를 알려 어떤 값을 반환하지 않습니다. 수동으로해야합니다. 수정하기 전에 파일 이름을 저장하고 나중에 파일이 있는지 확인하십시오. 그렇지 않은 경우 변경된 것이므로 카운터를 증가시킵니다.
다음과 유사한 작업을 수행 할 수 있습니다.
changed=0 ## counter
for file in TRAILBLAZER*
do
fname="$file" ## save original file name
mv "$file" "${file/PET_AC/PET_TESTAC}"
mv "$file" "${file/PET_NAC/TESTNAC}"
[ -f "$fname" ] || ((changed++)) ## original exists or increment counter
done
printf "files changed: %s\n", "$changed"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다