[問題]問sed的問題
1. 想用sed來改某directory 下的所有檔案
不過不確定 find如何跟 sed使用
例如 說 dir/下 把每個檔名的最後一個字元刪掉
像
find -type f -exec sed '/(.*).$/\1/g' {} \;
之類的
但是發現sed好像不認得back reference \1
而且也不確定怎麼把輸出拿來改檔名
或是說
find -type f -exec mv {} `echo sed 's/???/???/g'`
也不確定怎麼把find的 {} 帶給 ``裡..
用|也是
2. 在某個檔案中有用non-ascii寫的註解
compile都會產生warning 所以想拿掉
我在vim中用 s/[^[:print:]]//g是ok的
但 在command line中
sed -i 's/[^[:print:]]//g' src
結果沒事發生..........
[:print:]這應該是posix 的RE sed應該能認得吧?
還是我sed的用法用錯了????
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.223.51
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):