find /www/ -iname ".htaccess" -exec cp {} {}_cp \;
將複製所有的.htaccess文件的重命名他們.htaccess_cp但我想要做的就是複製所有的.htaccess文件的網站上,並把它們放到一個目錄。問題是,他們都需要有一個不同的名字,否則他們只會覆蓋彼此。理想情況下,我希望他們擁有父目錄的文件名。Ubuntu的CLI羣衆找到CP
任何幫助,將不勝感激。
find /www/ -iname ".htaccess" -exec cp {} {}_cp \;
將複製所有的.htaccess文件的重命名他們.htaccess_cp但我想要做的就是複製所有的.htaccess文件的網站上,並把它們放到一個目錄。問題是,他們都需要有一個不同的名字,否則他們只會覆蓋彼此。理想情況下,我希望他們擁有父目錄的文件名。Ubuntu的CLI羣衆找到CP
任何幫助,將不勝感激。
你可以嘗試這樣的事情:
find /www -name '.htaccess' -exec bash -c 'newfile=${1}_cp; if [[ ! -e $newfile ]]; then
cp "$1" "$newfile"
else
count=1
while true; do
if [[ ! -e ${1}_cp.$count ]]; do
cp "$1" "${1}_cp.$count"
break
else
((count++))
fi
done
fi' -- {} \;
也許是這樣的:
for file in $(find /www/ -iname ".htaccess"); do
new_file_name=$(echo $file | sed 's#/#_#g')
cp $file $new_file_name
done
真棒,完美的作品! – user1415813
與唯一的問題是將一個遞增的數字追加到尾部但是說的30個站點那裏有每個不同的.htaccess文件我不知道哪個.htaccess文件與哪個站點一起使用? – user1415813