
3개의 .txt 파일이 포함된 하위 폴더가 있습니다. 각 하위 폴더의 세 번째 파일만 선택할 수 있나요? 실제로 각 파일 이름 끝에 "e"를 복사하고 이름을 바꾸거나 추가하고 싶습니다. 각 폴더의 세 번째 파일에만 해당됩니다. 이 폴더입니다
New folder/20130903/ELF
:
Naqs_20130901.txt
Naqs_20130902.txt
Naqs_20130903.txt
New folder/20130904/ELF
:
Naqs_20130902.txt
Naqs_20130903.txt
Naqs_20130904.txt
세 번째 파일에서만 이 작업을 수행하겠습니다.
답변1
다음을 사용하는 경우 bash
배열 내의 파일 이름 확장을 통해 이를 수행할 수 있습니다 .
for dir in New\ folder/20130903/ELF New\ folder/20130904/ELF ; do
files=( "$dir"/* ) # store all matching filenames in an array
echo "${files[2]}" # use 3rd element (subscripts are 0-based)
done
이 출력
New folder/20130903/ELF/Naqs_20130903.txt
New folder/20130904/ELF/Naqs_20130904.txt
해당 줄을 echo
다음 파일에서 실행하는 데 필요한 명령으로 바꾸세요.
mv "${files[2]}" "${files[2]}e"