ファイル内の文字を小文字に変換し、非アルファ文字を_に置き換えるためのシェルスクリプトを作成する必要があります 。
上記の両方に個別のコマンドがあります。引数としてファイルを指定し、上記の処理を実行する方法。つまり、出力には小文字のみが含まれ、非アルファ文字は_に置き換えられます。 (アンダースコア)?
承認された回答:
sedを使用する :
sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
これは実際には2つのsedです ;で区切られたコマンド :
-
s/[^[:alpha:]]/_/gアルファベット以外の各文字を_に変換します -
s/[[:upper:]]/\L&/gすべての大文字を小文字に変換します
例:
$ cat file.txt
fooBAr132323
SpamEgg
$ sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
foobar______
spamegg