2

私は、以下の要約版のように見える何百もの行を含むこのテキスト ファイルに取り組んでいます。

# <block_uid>   # <freq> <memop> <fpop> <insn> <line> <fname> <perc>
3941319690354688    # 776547959  2.232946   0
3941427129090048    # 465293088 40  37  74 4.215079 0 
3941427110739968    # 465558912 36  35  68

ファイルが手動で行うには大きすぎるため、sed を使用して各行の間にdfpatternを挿入しようとしています。したがって、16 桁のパターンの後、 ie の前は次のようになります。3941319690354688# 776547959#

# <block_uid>   # <freq> <memop> <fpop> <insn> <line> <fname> <perc>
3941319690354688 dfpattern  # 776547959  2.232946   0
3941427129090048 dfpattern  # 465293088 40  37  74 4.215079 0
3941427110739968 dfpattern  # 465558912 36  35  68

私はsedの初心者で、コマンドをいじることができなかったので、助けを求めています。投稿したコマンドについて簡単に説明してください。それから学ぶことができます。ありがとう!

4

1 に答える 1

1

次のコマンドを試してください。行の先頭 ( ^) から任意の桁数の後にスペースが続き、同じ内容 ( \1) にリテラルdfpatternが追加されたものに一致します。

sed -e 's/^\([0-9]*[ ]\)/\1dfpattern /' infile

出力:

# <block_uid>   # <freq> <memop> <fpop> <insn> <line> <fname> <perc>
3941319690354688 dfpattern    # 776547959  2.232946   0
3941427129090048 dfpattern    # 465293088 40  37  74 4.215079 0 
3941427110739968 dfpattern    # 465558912 36  35  68
于 2012-07-11T18:43:39.480 に答える