もくてき テキストファイルを空行区切りで取り出す。 今回僕が触ってた対象はバックアップしたLINEの履歴です。 やりかた 思いついたのは空行間を一列にして改行区切りで取り出す方法 空行を目印となる文字に置き換える(今回は等号) 同様に改行を別の文字に置き換える 空行を改行に戻す IFSを設定した上でforとかで取り出す msg="$(cat xxx.txt | sed -e ’s/^$/=/g’ | sed -r -e ’s/=+/=/g’ | tr ‘\n’ ‘@’ | tr ‘=’ ‘\n’)" IFS=’ ‘ for i in $msg; do echo "$i" | tr ‘@’ ‘\n’ done; おまけ awkでやるときは区切り文字とかを設定してレコード番号から絞るらしい。 awk自体に制御構文はあるわけだし明らかに賢い (フィールド番号指定してできねーなって言ってた)。 AWK:空行で区切られたファイルを処理する - 廿TT あとタイトルのわりにBashである必要はない。
Continue reading

Author's picture

nobuyo

student of nit

JS/Rails

Nagano, Japan