
'StringtoReplace'로 끝나는 디렉토리에 여러 파일이 있습니다. 디렉터리에 있는 모든 파일의 파일 이름 부분을 새 문자열 'ReplacedString'으로 바꾸려면 어떻게 해야 합니까?
답변1
그러면 "StringtoReplace"의 첫 번째 인스턴스가 "ReplacedString"으로 대체됩니다.
for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f/StringtoReplace/ReplacedString}"; done
이는 다음을 대체합니다.마지막"ReplacedString"으로 "StringtoReplace" 인스턴스:
for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f%StringtoReplace}ReplacedString"; done