- ベストアンサー
シェルスクリプトについて
シェルスクリプトについて Linuxで先頭にスペースが入っている行をひとつ上の行につなげたいと考えています。 その場合、シェルスクリプトはどのように書けばよいかご教示願います。 【ファイル内容】 aaa △bbb ccc ddd (b行の先頭のみスペース(△)が入っています。) 【変換後のファイル】 aaa bbb ccc ddd
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Perlを使うなら、メモリに入りきらないサイズでなければ perl -e '$/="";$_=<>;s/\n / /g;print;' infile >outfile シェルだけで書くと、 #!/bin/bash IFS="" if read -r x then while read -r a do case "$a" in " "*) x="$x$a" ;; *) echo "$x"; x="$a" ;; esac done echo "$x" fi
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
Perl で while (<>) { if (/^ /) { chomp $f; $f .= $_; } else { print $f; } } print $f if defined $f; とか.
質問者
お礼
perlについてももっと勉強させていただきます。回答いただきありがとうございます。
お礼
ご教示いただきました方法で解決できました。 回答いただきありがとうございました。