Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題33

問題33 回文かどうかの判定

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

前問とは違うやり方で解けというので別解とも違うやり方を考えてみたがまったく思い浮かばず、答えを見たら縦に出力して同じことをやっていた。頭の柔軟さが足りないなと思わされた。

解答例は

paste <(grep -o . kaibun) <(grep -o . kaibun | tac) | awk '$1!=$2' 

とすればよい。not_kaibun の場合も同じである。

ちなみに改行を削除して前回と同様にやるには

cat 入力ファイル名 | tr -d '\r' | tr -d '\n' > 変換後の出力ファイル名

とすればいい。

逆引きUNIXコマンド/テキストから改行を削除する - Linuxと過ごす

削除なので tr に -d オプションをつける。