-4

ファイルのすべての文の最初の文字を大文字にし、他の大文字を小文字に変換して(存在する場合)、変更したテキストを同じ入力ファイルに書き換えるにはどうすればよいですか?

入力ファイル:

これは、最初のファイルであり、文字をテストするために使用されます。大文字を小さい文字に変換するために使用されます。

4

4 に答える 4

1

sed:

$ sed -r 's/(.*)/\L\1/;s/((^|\.)\s*.)/\U\1/g' file
This is the test file.It is used for testing a script.Which is used for converting capital letters to small letters.

# Save changes to file
$ sed -ri 's/(.*)/\L\1/;s/((^|\.)\s*.)/\U\1/g' file
于 2013-02-18T18:13:32.823 に答える
0

Perlでtr サブルーチンを使用できます。

$ cat original-file.txt | perl -ne 'tr/A-Za-z/a-zA-Z/; print;' \
    > new-file-with-toggled-case.txt
$ mv new-file-with-toggled-case.txt original-file.txt
于 2013-02-18T18:16:47.567 に答える
0

必要に応じて、perl で非常にシンプルにします。

s/(\w+)/\u\L$1/g

あなたの質問に関連するここまたはここをチェックしてください

于 2013-02-19T06:11:05.190 に答える
0

このようなもの?

awk '{sub($0,tolower($0)); sub(/./, toupper(substr($0,1,1)))}1' RS=. ORS=. file

出力:

This is the test file.It is used for testing a script.Which is used for converting capital letters to small letters.

これは、で終わる文で機能します。、ただし感嘆符、疑問符などは除きます。

于 2013-02-18T21:05:49.263 に答える