シェルワンライナー160本ノック問題134
問題134 Pythonのインデントの確認
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
grepでスペースを検出すればいいやと思ったが空行の扱いをどうすればいいのかわからず完成させられなかった。
解答例は
awk 'match($0, /^ +/){if (RLENGTH%4) print NR}' hoge.py
となる。match の引数の1つ目は行全体を表している。2つ目は//で正規表現によって先頭が空白の行を表している。そしてアクションのところで空白が4の倍数個ある行だけその行番号を出力している。空行は空白が4の倍数個ではないのだろう。気になるなら正規表現に工夫を凝らせばどうにかなりそう。