由於 mynfs
是win
一種伺服器,因此它不能包含:
.我想將多個檔案從來源伺服器複製到nfs
另一台伺服器上的目錄並同時重命名它們。
該腳本如下所示:
#!/bin/bash
in_files="node1:~/experiment/wrfout_d01_2012-12-01*"
###########################################################
# the files look like wrfout_d01_2012-12-01_00:00:00
# wrfout_d01_2012-12-01_06:00:00
# wrfout_d01_2012-12-01_12:00:00
# wrfout_d01_2012-12-01_18:00:00
###################################
for fn in $in_files;do
echo $fn
newfn=$(basename "$fn")
echo 'apply basename :'
echo $newfn
scp -r "$fn" "./${newfn//:/_}"
echo 'next:'
done
運行此腳本後,它會報告
node1:~/experiment/wrfout_d01_2012-12-01*
apply basename :
wrfout_d01_2012-12-01_12_00_00
./wrfout_d01_2012-12-01*: File name too long
./wrfout_d01_2012-12-01*: File name too long
./wrfout_d01_2012-12-01*: File name too long
./wrfout_d01_2012-12-01*: File name too long
next:
但似乎如果我只將腳本應用於一個文件,就可以了,(即更改in_files
為某個文件),例如:
node1:~/experiment/wrfout_d01_2012-12-01_00:00:00
apply basename :
wrfout_d01_2012-12-01_00:00:00
wrfout_d01_2012-12-01_00:00:00 100% 71MB 70.5MB/s 00:00
next:
1.那我該怎麼做才能讓它適用於多個文件呢?
2.順便說一句,rsync
這部分似乎也可以做,哪一個更快或更好。