問sed的問題 - Linux

Heather avatar
By Heather
at 2009-08-10T03:25

Table of Contents

y※ 引述《allstarschh (allstars)》之銘言:
: 1. 想用sed來改某directory 下的所有檔案
: 不過不確定 find如何跟 sed使用
: 例如 說 dir/下 把每個檔名的最後一個字元刪掉
: 像
: find -type f -exec sed '/(.*).$/\1/g' {} \;
: 之類的
: 但是發現sed好像不認得back reference \1
: 而且也不確定怎麼把輸出拿來改檔名

先回答第一個問題。
第二個問題我有空再補上。

你無法使用:find -type f -exec sed '/(.*).$/\1/g' {} \;
來更改檔名。因為這樣只是更改檔案內的本文內容,而不是改檔名。

: 或是說
: find -type f -exec mv {} `echo sed 's/???/???/g'`
: 也不確定怎麼把find的 {} 帶給 ``裡..
: 用|也是

你要用 find + sed + xargs去更改檔名才可。
例如:把工作目錄下的所有副檔名.foo的檔案 改成.bar

可這樣下指令:
find . -type f -name '*.foo' | sed -e p -e 's/\.foo$/.bar/' | xargs -n2 mv
1 2 3


1 處理完後的結果如下:

./a.foo

2 處理完後的結果如下:

./a.foo
./a.bar

3 處理完後的結果如下:

a.bar

或這樣的指令也可達到相同的功能

find . -type f -name '*.bar' | sed -e 's/.*/mv & &/' -e ' s/bar$/foo/ ' | sh




--
Tags: Linux

All Comments

soft-off vs power-off

Bennie avatar
By Bennie
at 2009-08-09T20:43
應該是這樣說沒錯吧 (我記得機板說明書還有BIOS上是用這種敘述法) soft-off 是關機後USB那些週邊裝置還有供電 主機板上的指示燈可能也會亮著 power-off 是關機後就完全斷電 只剩開機電路stand by等開機訊號 我最近發現我的電腦 如果用Linux關機(我用Ubuntu 9.04)會 ...

linux的工具列不見了

Joseph avatar
By Joseph
at 2009-08-09T20:22
如題,本來畫laker好的好好的 結果視窗縮下 都沒看到 結果又手殘 下面的工具列 跟上面的那一個工具列也不見了 現在只能開終端機 但不知道要輸入什麼指令 或是什麼方法 才能復原啊~~ 謝謝各位了 ps 我的是Red Hat Enterprise Linux AS release 4 (Nahant ...

Moblin v2 beta

Irma avatar
By Irma
at 2009-08-09T20:13
借這個標題問一下... 抓了Moblin 2.0 beta based on OpenSuSE的iso檔 分別用Virtual Box跟Virtual PC安裝 iso檔的md5無誤 Virtual PC可以順利安裝 但是Virtual Box裝到一半卻會出現 suse-opensuse-moblin-pr ...

簡體轉繁體工具?

Doris avatar
By Doris
at 2009-08-09T19:51
請問一下,我在 linux 下的編碼是 utf8,現在下載 下來的檔名是簡體 utf8,請問 linux 下有工具將簡 體 utf8 轉成繁體 utf8 嗎? 感謝回答! :andgt; - ...

SAMBA+CUPS+非postscript印表機 (已解決)

Franklin avatar
By Franklin
at 2009-08-09T18:04
自問自答......... 分享一下解決方法........ 我被預設的設定檔陰了..... 預設的/etc/samba/smb.conf 裡面有一行 cups options = raw ...........把他註解掉就好了 也就是改成 ; cups opti ...