私は「WordNode」と「光沢語」で始まる入れ替える行のテキストファイルを持っていますが、時々「グロス・ワード」で始まる重複行があります:私は追加できるようにしたいと思い同じ単語で始まる連続する行の間に文字列を追加するにはどうすればよいですか?
は、以前wordNode ...「光沢語」で始まる各重複行の行:
WordNode "a'inai"
gloss word "repose"
WordNode "akti"
gloss word "running"
WordNode "akti"
gloss word "turned on"
WordNode "akti"
gloss word "active"
WordNode "aitco"
gloss word "Armenian"
WordNode "aitxero"
gloss word "ethereal"
WordNode "aitxero"
gloss word "ether"
私はこの
sed -r ':a; N; /(gloss word)[^\n]*\n\1/ s/\n.*//; ta; P; D' file1.txt > file2.txt
を試みたが、それだけで最初とDを保持します次の重複する行を削除してください。 sed awkやその他の正規表現を使ってこれを行う正しい方法は何でしょうか?
あなたは私の答えでは「これでデータはまったく変わらない」とコメントしました。どういう意味ですか?あなたが与えた 'Awk'コマンドの出力が表示されていませんか? – Inian
@Inianそれは奇妙に思える...でも、DOSスタイルの行末は影響を受けないだろう... OPは確かに – Sundeep
を "これは全くデータを変更しない"という意味で明確にしなければならない。つまり、実行中のデータに対して変更は行われないあなたのコード。私はもう一度試したかったのですが、削除されました。私は@ suddeepの答えがあなたのものと同じだと思って、その単語を単語から始める行を削除しようとしていて、光沢のある単語で始まる行を残しています。私はこの正規表現の初心者です。多分私は間違いを犯しました。 :/幸いにも、potongの答えは私が欲しかったのとまったく同じです。皆さん、ありがとうございました! – BitTad