파일 내용을 기반으로 txt 파일 이름 바꾸기(OSX)

파일 내용을 기반으로 txt 파일 이름 바꾸기(OSX)

모두 link.txt라는 이름의 txt 파일이 약 250개 있고 이 정보는 항상 3행/행에 있습니다.

제목: 일종의 제목

이 파일을 살펴보고 제목을 가져와 파일 이름으로 넣을 수 있는 일종의 스크립트가 필요합니다. 폴더 구조는 1-links/20150528/1/이므로 "1-links"에서 스크립트를 실행하면 "link.txt"라는 파일을 찾기 시작할 수 있다면 좋을 것입니다.

저는 Mac OSX를 사용하고 있습니다.

누구든지 나를 도와줄 수 있나요?

답변1

다음과 같은 작업을 수행할 수 있습니다.

for i in `find . -name link.txt -type f`;
do
nn=$(sed -n -e 3p -e "s/title:\ // "$i")
mv "$i" "`dirname $i`/$nn"
done

파일 대신 경로의 마지막 디렉터리 이름을 바꾸려면 다음과 같이 사용할 수 있습니다.

for i in `find . -name link.txt -type f`;
do
nn=$(sed  -n -e 's/title: //'  -e 3p $i)
odir=`dirname $i`
ndir=$(echo $odir|awk -v nn="$nn" -F\/ 'BEGIN {OFS="/"}  {$NF=nn;print}')
mv  "$odir" "$ndir"
done

관련 정보