다음과 같은 디렉토리 목록이 있습니다.
stats/gauges/stock/market/PLN/EUR/*
stats/gauges/stock/market/USD/EUR/*
stats/gauges/stock/market/PLN/CZK/*
이와 같은 것이 수백 개가 더 있습니다. 통화 순서를 변경해야 하므로 다음과 같습니다.
stats/gauges/stock/market/EUR/PLN/*
stats/gauges/stock/market/EUR/USD/*
stats/gauges/stock/market/CZK/PLN/*
이 디렉터리 안에는 더 많은 중첩된 디렉터리와 일부 파일이 있습니다.
Carbon + Whisper + Graphite
제가 실제로 달성하고 싶은 것은 설치 프로그램에서 사용하는 데이터 저장 형식 인 통계의 "명명"을 수정하는 것입니다 .
가장 간단하고 안정적인 방법은 무엇입니까?
답변1
위의 예에서 항상 6개의 디렉터리가 있는지 확인할 수 있다면 다음을 수행하여 마지막 두 디렉터리를 바꿀 수 있습니다.
find stats -mindepth 5 -maxdepth 5 -type d \ # (Or some other way of generating your list of directories)
| while read dir
do
mv -v "$dir" "$(echo $dir | awk -F '/' '{ print $1"/"$2"/"$3"/"$4"/"$6"/"$5 }')"
done
echo
먼저 확인하기 위해 하나를 앞에 던져보세요 mv
.
디렉토리 수를 셀 수 없다면 "마지막 두 개를 바꾸는" 보다 일반적인 방법이 있을 것이라고 확신하지만 하나도 모릅니다.