• ベストアンサー

Linuxでテキストファイルの改行を解除

Linux で テキスト形式のファイルの 段落が変わっているところ以外の改行を解除するということを コマンドラインで行うことは可能でしょうか? どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> コマンドラインで行うこと 内部コマンド、外部コマンド、プログラムしてコマンドラインから実効、どこまで使っていいのかな。 空行で区切られているのならこんなのでどう? gawk '(/^.+$/){printf("%s",$0)}(/^$/){print}' < ファイル

noname#214079
質問者

お礼

ありがとうございます。 このサイトは経験豊かな方達から知識を伝授していただけるので、本当に助かります。 awk '(/^.+$/){printf("%s",$0)}(/^$/){print}' < input.txt > output.txt これ一発でできてしまうのですね。 自分の用途からすると、これで大丈夫そうです。 gawk '(/^.+$/){printf("%s",$0)}(/^$/){print}' < input.txt > output.txt ではなぜかうまくいきませんでした。

noname#214079
質問者

補足

> > コマンドラインで行うこと > 内部コマンド、外部コマンド、プログラムしてコマンドラインから実効、どこまで使っていいのかな。 > 舌足らずだったようですみません。 gedit などのエディタ上で一つ一つ修正するのでなくて コマンドラインでできるのなら一発で終わるので、 という意味でしたので、 そういう種類のものであれば何でもいいです。 それと、見逃しておりました。 前の行との間に空白行をはさんでおらず 行頭でインデントされているのみ、 の段落変更の部分も改行を解除しないためには どうすればよろしいでしょうか? どうぞよろしくお願いいたします。

その他の回答 (2)

noname#206655
noname#206655
回答No.3

ご存知のように (後発の方や運営の先生方のために) Windows(マイクロソフト)系は CR+LF の2文字で改行してます。方やLinux系は LF の1文字です。WEBの場合には先頭に文字コードが記載されてるので、勝手にデコードするようです。 よって、それらを正しくデコードできないソフトで行ったり来たりすると、崩れるようです。 両方で正しくデコード(解析)できるソフトを利用すると、良いかもしれません。 CRとは、キャリッジリターンで印刷機のプラテンを「ちーん」と左側に寄せる行為 LFとは、ラインフィードで1行送る機能です。 なので、スクリプトなどで削っても、行ったり来たりできません。 ご質問の意図が、1回切りの移動ならば、他の回答氏のように削除で可能だと思いますが、全部無くなるかな・・・

noname#214079
質問者

お礼

ありがとうございます。 > ご質問の意図が、1回切りの移動ならば、他の回答氏のように削除で可能だと思いますが、全部無くなるかな・・・ 意味がよくつかめませんでしたが、 m1091757253 さんのやり方でうまくいきました。

  • f272
  • ベストアンサー率46% (8477/18147)
回答No.1

段落が変わっているところとはどういうところですか?

noname#214079
質問者

お礼

ありがとうございます。 自分の用途からしますと、 前の行との間に空白行をはさんでいるか 行頭でインデントされていると、 段落が変わったとみなします。

関連するQ&A