폴더 이름에서 첫 번째 문자 제거 [중복]

폴더 이름에서 첫 번째 문자 제거 [중복]

디렉토리 이름의 첫 글자를 제거하는 방법은 무엇입니까? 예: 폴더 이름이 "AFolder_01"인 경우 이름을 "Folder_01"로 바꾸는 방법

내 문제의 원인은 폴더 목록이 있고 첫 글자를 제거하여 모든 폴더의 이름을 한 번에 바꾸고 싶기 때문입니다. 마지막 문자를 제거하기 위해 온라인에서 이 코드를 찾았습니다.

  while IFS= read -r dir; do [[ -d $dir ]] && mv -i "$dir" "${dir%?}"; done <all.txt
  1. 이 코드를 수정하여 첫 글자를 제거하려면 어떻게 해야 합니까? 즉, 내 예에서는 "AFolder_01"의 이름을 "Folder_01"로 바꿉니다.
  2. 이 코드를 수정하여 폴더 이름의 시작 부분에 Charterer를 다시 추가하려면 어떻게 해야 합니까? 예를 들어 "Folder_01"을 "AFolder_01"로 이름을 바꾸십시오.

답변1

디렉터리 이름을 변수(예: dir)에 넣은 후 다음을 수행할 수 있습니다.

mv "$dir" "${dir:1}"

그러면 변수에서 첫 번째 문자가 제거됩니다. 새 디렉토리가 이미 존재하지 않는지 확인하는 것은 여러분의 몫입니다.

처음에 뭔가를 추가하려면(예: 문자 A):

mv "$dir" "A$dir"

관련 정보