AWK - SED - 数字で始まる場合は、各列の先頭に文字を追加します。

AWK - SED - 数字で始まる場合は、各列の先頭に文字を追加します。

数字で始まる各列の先頭に文字を追加するには:

追加例c:
4 r4 8 8 4

だから私は次のような結果を得ます:
c4 r4 c8 c8 c4

さまざまな数の列に対して機能する必要があります。

ベストアンサー1

あなたはそれを使用することができます各列を一度に変更します。

sed -E 's/(^| )([[:digit:]])/\1c\2/g' input

フィールド区切り文字が空白でない場合は、(^| )正規表現のこの部分のスペースをフィールド区切り文字に置き換えます。

  • -Eデフォルトの正規表現(BRE)の代わりに拡張正規表現(ERE)を使用するように指定します。
  • s:s/regexp/replacement/
  • (^| )キャプチャリンググループの行の先頭またはスペースに一致します。
  • ([[:digit:]])キャプチャグループの数値一致
  • \1c\2最初のキャプチャグループの内容(\1)、文字c、2番目のキャプチャグループの内容(\2
  • gグローバル

結果が満足で実装がサポートされている場合は、FreeBSDやmacosなどの派生に追加してファイルを変更sedできます。 (元のファイルをバックアップしたい場合)-i-i ''-i.bak

おすすめ記事