ファイル内のすべての行の形式を変更し、一致するグループのいずれかで別の置換を実行したいとします。sedの置換をネストする方法はありますか?
例として、別の形式で入力したい3列の単純なCSVファイル(エスケープなし)を使用できます。
sed -r 's/^([a-z]+),([a-z]+),([a-z]+)$/\1: \3 (\2)'
# would turn "comma,separated,values"
# into "comma: values (separated)"
しかし、私はまた、すなわち\2
上s/[aeiou]//g
を実行して、第二のカラムからすべての母音を削除したい。
入れ子の入れ子のこの問題を解決する良い方法はありますか?両方の置換が複雑で、これは単なる例であると仮定してください。
私のsedはGNU sedバージョン4.0ではありません。
もう1つのsedにパイプを通すことはできませんか? – NorthGuard
@inTide:_all_母音を削除したくない。母音は2番目の列から削除するだけだ。 – Tim
そうですね、カンマとセカンドの間のすべての母音を最初に削除するには、最初のカンマ ':'と2番目のカンマ '()'を作成します。 – NorthGuard