「テキスト処理」の版間の差分
提供: Wikinote
(→一行野郎) |
|||
行22: | 行22: | ||
面倒なので、先頭の 0 も許す。 | 面倒なので、先頭の 0 も許す。 | ||
$ egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' FILE | $ egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' FILE | ||
+ | |||
+ | === 文字単位で逆順に出力 === | ||
+ | 行単位で逆順に出力する場合は、 | ||
+ | $ tac FILE | ||
+ | でよいが、これじゃあ生ぬるい (何が)。文字列単位で逆転させようじゃないか。 | ||
+ | $ tac -rs '[^@]' FILE | ||
+ | @ はファイル中に出現していない文字に置き換えること。 | ||
+ | 要するに、ファイル中のすべての文字を区切り文字として逆転させている。 |
2009年6月16日 (火) 23:47時点における版
以下のページも参照のこと。
一行野郎
最長行の長さを求める
AWK のマニュアルにも載っている、基礎的な一行。
$ awk '{ if (max > length()) max = length() } END { print max }' FILE
テキストファイルを横に連結
これは paste コマンドを知っているかどうか。
$ paste FILE1 FILE2
頻出コマンド Top 10
ぜんぜん役には立たないが、パイプの真骨頂が味わえる、趣き深い一行。
$ history | awk '{ print $2 }' | sort | uniq -c | sort -nr | head -n 10
IP アドレス的なもの抽出
面倒なので、先頭の 0 も許す。
$ egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' FILE
文字単位で逆順に出力
行単位で逆順に出力する場合は、
$ tac FILE
でよいが、これじゃあ生ぬるい (何が)。文字列単位で逆転させようじゃないか。
$ tac -rs '[^@]' FILE
@ はファイル中に出現していない文字に置き換えること。 要するに、ファイル中のすべての文字を区切り文字として逆転させている。