다음 이름을 가진 파일이 2000개 이상 있습니다.
123-FILENAME_TEXT_M101K_20150929.CSV
123
3자리 또는 4자리 숫자일 수 있습니다 . 이러한 파일은 모두 동일한 디렉터리에 있습니다. 접두사 번호와 대시를 제거하는 스크립트를 원합니다. (즉, 123-
예시 이름에서 선행 부분을 제거해야 합니다)
나는 열심히 노력했다 mv **-FILENAME* FILENAME*
.
rename
사용할 수 있는 기능이 아닙니다
답변1
다음과 같이 시도해 볼 수 있습니다. 첫 번째 항목 이전의 모든 항목이 삭제됩니다.-
for file in *-*.CSV
do
newName="${file#*-}"
mv -- "${file}" "${newName}"
done
답변2
나는 sed, awk 및 find의 조합을 사용해 보았습니다. 테스트를 거쳐 잘 작동함
find . -type f -iname "*.CSV"| sed "s/^\.\///g"| sed -n '/^[0-9]\{4\}/p' | awk -F "-" '{print "mv" " " $0 " " $2}'| sh