酷!學園

技術討論區 => 程式討論版 => 主題作者是: seye586 於 2010-03-08 20:27

主題: 請教shell script sed 的問題
作者: seye5862010-03-08 20:27
大家好...

我想寫一個script ./copy_to_new  dir1  dir2



for name in $1/*.ko; do
    file=`echo $name|sed -e "s/\$1//"`
    cp -a  $2/$file $1/
done

將dir2 中 與dir1 中相同的ko檔 copy 到dir1
就是一直卡在sed
也有試過 echo $name|sed -e 's/"$1"//'
還是不行
應該是要可以用變數阿...

請指教
謝謝






主題: 回覆: 請教shell script sed 的問題
作者: dark2010-03-08 20:50
好像    file=`echo $name|sed -e "s/$1//"`
不需跳脫吧 ... (小弟沒測試喔)


... 不過先 cd dir1 不就好了 ?
主題: 回覆: 請教shell script sed 的問題
作者: gwstudy2010-03-09 10:04
    file=`echo $name|sed -e "s/\$1//"`

你要的這動作,有 basename 指令可用
主題: 回覆: 請教shell script sed 的問題
作者: hongbin2010-03-09 10:23
請試試看..

file=`echo $name|sed -e "s|$1/||"`
主題: 回覆: 請教shell script sed 的問題
作者: thyme2010-03-09 12:56
大家好...

我想寫一個script ./copy_to_new  dir1  dir2

for name in $1/*.ko; do
    file=`echo $name|sed -e "s/\$1//"`
    cp -a  $2/$file $1/
done

將dir2 中 與dir1 中相同的ko檔 copy 到dir1
就是一直卡在sed
也有試過 echo $name|sed -e 's/"$1"//'
還是不行
應該是要可以用變數阿...

請指教
謝謝
代碼: [選擇]
#!/bin/bash
for name in $1/*.ko; do
    name2="$2/${name##*/}"
    if [ -f "$name2" ]; then
        cp -f "$name2" "$name"
    fi
done
主題: 回覆: 請教shell script sed 的問題
作者: seye5862010-03-09 13:00
多謝gwstudy 和 hongbin
兩種方式的可以...
謝啦