
폴더1과 폴더2라는 2개의 폴더가 있습니다.
나는 폴더1에 있고 폴더2의 모든 csv 파일을 검색하려면 쉘 스크립트를 실행해야 합니다.
현재 스크립트는 현재 폴더에서 *.csv를 확인합니다.folder2를 가리키는 방법은 무엇입니까?
for file in *.csv
do
split -l 50000 -d -a 4 "$file" "$file"
done
답변1
folder1
및 둘 다 폴더 folder2
아래에 있다고 가정하면 parent
,
parent
folder1
folder2
for 루프를 다음과 같이 다시 작성할 수 있습니다.
for file in ../folder2/*.csv
일반적으로 이러한 루프에는 항상 절대 경로를 제공할 수 있습니다.
for file in /home/username/parent/folder2/*.csv
do
split -l 50000 -d -a 4 "$file" "$file"
done
위의 루프는 현재 있는 디렉터리에 관계없이 작동합니다.
답변2
무언가에 대한 디렉토리를 변경해야 할 때마다 및를 사용하여 원래 디렉토리로 다시 변경할 수 있습니다 pushd
.popd
pushd /path/to/folder2
for file in *.csv
do
split -l 50000 -d -a 4 "$file" "$file"
done
popd