ファイル内の文字を小文字に変換し、非アルファ文字を_
に置き換えるためのシェルスクリプトを作成する必要があります 。
上記の両方に個別のコマンドがあります。引数としてファイルを指定し、上記の処理を実行する方法。つまり、出力には小文字のみが含まれ、非アルファ文字は_
に置き換えられます。 (アンダースコア)?
承認された回答:
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