2012-11-01 63 views
0

我已經嘗試了幾個命令,如使用命令行來小寫所有文件中的所有文本?

dd if=*.xml of=*.xml conv=lcase 

大規模所有的XML文件的所有內容我的文件夾中是小寫。文件夾文件名已經是小寫字母,我試圖將所有實際內容都改爲小寫。

有人可以發佈命令做到這一點或告訴我我做錯了什麼?謝謝!

回答

1
for i in *.xml; do tr A-Z a-z < $i > tmp && mv tmp $i; done 

如果你的文件名包含特殊字符(空格,換行,控制字符等),你可能要引用「$ i」,但既然你說的名字都是小寫的,我假設沒有必要。

1

我會去:

sed -ie 's/\(.*\)/\L\1/' *.xml 

我看到您所標記的使用ssh你的問題。你沒有指定它,但這是否意味着你想在ssh命令的末尾運行這個命令?我這種情況下,你需要跳脫出星號,因爲他們應該被遠程解釋是這樣的:

sed -ie 's/\(.*\)/\L\1/' \*.xml 
2

使用sed編輯到位文件,這將節省您從編寫循環。

sed -ri 's/.+/\L\0/' *.xml 
相關問題