嗨,大家好我有一個grep問題。我不知道shell腳本中是否有其他搜索代碼。 我想要備份存儲在我的閃存盤中的AhmetsFiles文件夾,但同時我必須將它們按其擴展名分組,並將它們保存到[extensionName]文件夾中。grep間距錯誤
一個例子:/media/FlashDisk/AhmetsFiles/lecture.pdf必須存儲在/ home/$(WHOAMI)/桌面/備份/ PDF
問題是我不能複製一個名稱中包含空格的文件。(講座2.pptx) 這裏介紹了我的代碼。
filename="/media/FlashDisk/extensions"
count=0
exec 3<&0
exec 0< $filename
mkdir "/home/$(whoami)/Desktop/backups"
while read extension
do
cd "/home/$(whoami)/Desktop/backups"
rm -rf "$extension"
mkdir "$extension"
cd "/media/FlashDisk/AhmetsFiles"
files=(`ls | grep -i "$extension"`)
fCount=(`ls | grep -c -i "$extension"`)
for ((i=0 ; $i<$fCount ; i++))
do
cp -f "/media/FlashDisk/AhmetsFiles/${files[$i]}" "/home/$(whoami)/Desktop/backups/$extension"
done
let count++
done
exec 0<&3
exit 0
而不是'/ home/$(whoami)'最好使用'$ HOME'。即使homedir位於不尋常的位置,它也可以工作。 – Thomas
或者'〜/ Desktop'或者其他的。 –
謝謝你的詳細信息托馬斯我會改變我的代碼。請幫助我,如果你知道如何在grep搜索中忽略空格:) –