아래 스크립트를 사용하여 디렉토리의 파일 이름 목록에서 두 번째 문자를 변경했습니다. 기본적으로 파일 이름은 다음과 같이 변경됩니다.
GA001001 > GX001001
GA001002 > GX001002
GA001003 > GX001003
그리고 모두 변경되거나 이름이 바뀔 때까지 계속됩니다.
처음에 이 스크립트를 시도했지만 작동하지 않았습니다.
#!/bin/ksh
# Script for InfoPrint OVERLAY file convertion for 600 dpi
# Last Updated 02/29/2012
# By Harry Marion
for x in *"A"*; do
mv -- "$x"A"${x// /X}"
done
그런 다음 이것을 시도했지만 그것도 작동하지 않았습니다.
#!/bin/ksh
# Script for InfoPrint OVERLAY file convertion for 600 dpi
# Last Updated 02/29/2012
# By Harry Marion
for x in *"A"*; do
mv -- "$x"A"${x//A/X}"
done
답변1
다음과 같은 상황이 필요하지 않다면 문장을 강요하지 마세요.
for i in GA* ; do
j="${i/GA/GX}"
echo mv "$i" "$j"
done
답변2
안경:-
아래 스크립트를 사용하여 디렉토리의 파일 이름 목록에서 두 번째 문자를 변경했습니다.
shopt -s nullglob
for x in ?A*; do
case $x in
A*) mv -f -- "$x" "${x/AA/AX}" ;;
*) mv -f -- "$x" "${x/A/X}"
esac
done