.png)
我有大約 250 個 txt 文件,它們都名為 link.txt,並且這些資訊始終位於第 3 行/第 3 行:
title:某種標題
我需要某種可以遍歷這些文件的腳本,抓取標題並將其作為文件名稱。資料夾結構是: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