100개의 하위 폴더가 있는 폴더가 있는데, 각 폴더에는 .csv를 추가하려는 두 개의 파일이 포함되어 있습니다. 나는 bash 스크립트를 작성했습니다:
#!/bin/bash
for i in * ; do
cd $i
for k in *; do
mv "$k" "${f%.*}.csv"
done
cd ..
done
내 파일은 모두 어디로 갔나요? 어떻게 다시 받을 수 있나요?
답변1
mv "$k" "${f%.*}.csv"
변수가 정의되지 않았기 때문에 f
전체 대체는 빈 문자열과 동일하지 않으며 명령은 가 됩니다 mv "$k" ".csv"
.
각 디렉토리에서 하나의 파일을 제외하고 모두 손실되었습니다. 마지막 이름은 이제 입니다 .csv
. 시작 부분에 있는 점이 ls -a
해당 파일을 보는 데 사용되는 파일을 숨기므로 눈치채지 못할 수도 있습니다. GUI 파일 관리자에는 일반적으로 숨겨진 파일을 표시하는 옵션도 있습니다.