GNU/Linux >> Linux の 問題 >  >> Linux

リストの特定のテキストを大文字に変換する方法は?

やりすぎです。ファイル構造を利用してシンプルに保ちましょう!

文字列 [United が見つかった場合 行では、右中括弧から行末まですべてを大文字にすると、目的の結果が得られます。これをセド語に翻訳すると、

sed '/\[United/s/].*/\U&/' file

上記はGNU Sedに固有のものであることに注意してください。利用できないが POSIX システムである場合は、同様の構文で Ex を使用できます (または Awk バージョンを参照してください):

printf '%s\n' 'g/\[United/s/].*/\U&/' '%p' | ex file

結果を出力する代わりに変更をファイルに保存するには、%p を変更します。 x まで .


awk の使用 :

awk -F"[][]" '$2 ~/^United/ { $2="["$2"]"; $3=toupper($3); }1' OFS='' infile

[...]以内 ] の両方を定義しました そして [ フィールドセパレーターとして、2 番目のフィールドが United で始まるかどうかをチェックします テキスト、はいの場合は [] を追加します 2番目のフィールドの周り(これらの文字を傾ける列は他にないと思います。そうしないと、これらのフィールドはこれを見逃します)。次に、3 列目を大文字に変換します。イディオム 1 トリガー awk デフォルトの印刷 (一種の常に真の状態)。


Linux
  1. Awkからファイルをキャットする方法は?

  2. コマンドラインからExcelファイルをCalcファイルに変換する方法は?

  3. Linuxでテキストファイルからバイナリを見分ける方法

  1. テキスト ファイルから改行を削除するにはどうすればよいですか?

  2. 1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?

  3. Linux ディスク イメージをスパース ファイルに変換するにはどうすればよいですか?

  1. nano を使用してファイルからすべてのテキストを選択するにはどうすればよいですか?

  2. テキストファイルを Shift JIS から UTF-8 に変換し、端末から戻す方法

  3. ファイルのテキストリストからの Linux (mv または cp) 固有のファイル?