の一つのラインに二つの連続した行を置きます。 結果:私はPerlの/ AWKでそれを行うことができますどのようには、私は以下のようなデータを持っているのPerl/AWK
abcd join abcd
efgh join efgh
?
の一つのラインに二つの連続した行を置きます。 結果:私はPerlの/ AWKでそれを行うことができますどのようには、私は以下のようなデータを持っているのPerl/AWK
abcd join abcd
efgh join efgh
?
$ sed 'N;s/\n/ /' input.txt
abcd join abcd
efgh join efgh
私はこれよりも私が嫌いです。 –
これはどのように機能しますか?私はsedのマニュアルからNコマンドがパターンスペースに入力を追加しているのを見ることができます。コマンド区切り文字のようです。他のすべての行でどのように印刷が行われていますか? – haridsv
どのように動作するのか理解できません。説明できますか? :) – robertomarin
私の最初の本能:@のKEVのSEDソリューションに触発
perl -lne 'if ($. % 2) { $last = $_; } else { print "$last $_" }'
ややより簡潔なバージョン:
perl -lpe '$_ .= " " . <>; chomp'
しかし、私はsedの勝利にこのラウンドを考えます。
'-a'はここでは役に立たない!また、簡潔なPerlソリューションの私の答えを参照してください。 – ikegami
ええ、 '-a'は私がちょうど列で作業していた別のソリューションのcopypastaでした。キャッチをありがとう! –
たPerl:
perl -pe's/\n//if $. % 2' file
ゴーlf challenge:上記を5文字分短縮します。
ゴルフチャレンジソリューション:区切り文字の間
perl -pe'$.%2&&s/
//' file
ニースと簡潔;私はそれが好きです - ほとんどのsedと同じくらいです。 :) –
@ikegami:ここにお会いできてよかった! PMでの私たちの時間以来ずっとずっとでした:-) – neversaint
これはどのように5文字以下で動作しますか? –
awk '{getline a; printf "%-s\n", $0 " " a}' file
短い: 'awk '{getline a; print $ 0、a} 'ファイル' –
cat input | paste -sd' \n'
貼り付け交互リストが指定された場合。
編集内容が変更されました。最初は余分なスペースがなく、2番目のスペースには余分なスペースがあります。また、 'join'自体がデータに明示されているのでしょうか、それとも不幸な偶然のことでしょうか? – sarnold