Skip to main content

シェル・ワンライナー160本ノックの3.1章の不明点をまとめる

シェル・ワンライナー160本ノックの2.2〜2.5章の不明点をまとめる
の続編

シェル芸人を目指してるマスタカです。
3.1 テキストの扱いを遊んで理解する
を読んだので不明点をまとめる


・perlのワンライナー
‘-Mutf8’でスクリプト内部のリテラルのutf-8化を宣言
-pでデフォルト変数をprint文で出力
-eでPerlプログラムをコマンドとして実行
-Cで内部文字列にデコード
https://perlzemi.com/books/linux/chapter04.html

・perl+anle
anleでawkになる
$F[0]から始まる
https://masudak.hatenablog.jp/entry/2015/08/26/190000

・echo
-eでバックスラッシュでエスケープした文字を解釈するようにする
https://linuxjm.osdn.jp/html/GNU_sh-utils/man1/echo.1.html

・rubyでワンライナー
aneを使う
https://maku77.github.io/ruby/io/oneliner.html

・pythonでワンライナー
-cで動く
seq 3 | python -c ‘import sys;[print(int(a)*2) for a in sys.stdin]’

・正規表現
BRE:基本正規表現
ERE:拡張正規表現
PCRE:NFAベースの正規表現ライブラリ。perlやphpで使われる
https://qiita.com/ponsuke0531/items/c903ceed9d0f296e951e

・grepで縦に並べる
-oで並べる
https://yara-shimizu.com/programing/how-to-tate

・tac
逆順にする

・二行で表示する
pasteでできる
paste <(ls) <(ls)

・(?=pattern)
「なつ(?=みかん)」を記述した場合「なつみかん」の文字列でマッチします。ただしマッチする部分は「なつ」の文字列の部分となります。
https://www.ipentec.com/document/software-regular-expression-difference-question-equal-and-question-colon

関連記事:

Pocket