Shell
將文件內容轉換為小寫
我有
temp
一些小寫和大寫內容的文件。輸入
我的
temp
文件內容:hi Jigar GANDHI jiga
我想將所有upper 轉換為 lower。
命令
我嘗試了以下命令:
sed -e "s/[A-Z]/[a-z]/g" temp
但輸出錯誤。
輸出
我希望它為:
hi jigar gandhi jiga
參數的替代部分需要
sed
什麼?
如果您的輸入僅包含 ASCII 字元,您可以使用
tr
如下:tr A-Z a-z < input
或(不太容易記住和輸入 IMO;但不限於 ASCII 拉丁字母,儘管在包括 GNU 在內的某些實現中
tr
,仍僅限於單字節字元,因此在 UTF-8 語言環境中,仍僅限於 ASCII 字母):tr '[:upper:]' '[:lower:]' < input
如果你必須使用
sed
:sed 's/.*/\L&/g' < input
(這裡假設 GNU 實現)。
使用 POSIX
sed
,您需要指定所有音譯,然後您可以選擇要轉換的字母:sed 'y/AǼBCΓDEFGH.../aǽbcγdefgh.../' < input
與
awk
:awk '{print tolower($0)}' < input