テキストファイルの内容を編集するためのシェルスクリプト/ unixコマンド

テキストファイルの内容を編集するためのシェルスクリプト/ unixコマンド

2行目の2列目(ファイル名)のファイルの内容を編集し、最後のアンダースコアの後ろとファイル拡張子の前の部分を削除したいと思います。

ファイルの内容は次のとおりです。ファイルの内容を入力してください

No|filename|count
01 |com_101_00000_0001_a234.txt|100

期待される出力ファイルの内容

No|filename|count  
01 |com_101_00000_0001.txt|100

アンダースコアは、.ctlファイルのファイル名によって異なります。また、このフォルダに複数のファイルがあるので、2行目のすべての.ctlファイルの内容を同様に変更したいと思います。

Operating system details Linux  2.6.32 -696.30.1.e16
GNU/linux

私は次の解決策を試しました。
cat com_101_00000_0001.ctl |)_[^_](.[^_]*)$/\1\2/'

これはファイルの内容を編集しますが、パテコンソール自体に内容を表示します。私が望むのは、サーバーの特定のパスにある元のファイルを変更することです。

何が間違っているのか教えてください。

ベストアンサー1

ほぼ同じ質問をしたのが今回が3回目です(曲1曲2、そしてこれ) - 与えられた答えを集めて、どのくらい行くことができるかを調べてください。

試してみましたか?この回答?結果をファイルにキャプチャするには、リダイレクトについて読んでください。

おすすめ記事