2018/04/17 追記

ebanさんから、col -bでいけるよという教えをいただく。

あ、colでいけたんだ…(´・ω・`)。 大体のUNIX系OSならcol入ってるし、こっちのほうが良いね…。

以下のようにバックスペースキャラクタを含んだ文字列があるとする。

...

コンソール上で全角文字⇔半角文字の変換を行う事が時たまあるのだけど、どんな方法があるかなと思ったのでちょっと調べてみた。

nkfを使う(全角→半角のみ)

nkf -Zを用いることで、全角数字→半角数字への変換が可能だ。 ただ、残念ながら半角→全角はできないようだ。

nkf -Z # 全角→半角
blacknon@BS-PUB-DEVELOP:~$ echo Abcd0123456789 | nkf -Z
Abcd0123456789

uconvを使う

個人的にお気に入りのツールにuconvというツールがあるのだが、これを使うことでも半角→全角、全角→半角変換が可能...


個人的に、よく桁数が多い数字を読む際に、以下のような感じでprintfを使ってカンマ区切りにして読みやすくしている。

echo 1213141516171819 | printf "%'d\n" $(cat)
blacknon@BS-PUB-DEVELOP:~$ echo 1213141516171819 | printf "%'d\n" $(cat)
1,213,141,516,171,819

ただ、これでも桁数が多いと「日本語でなんだっけこの数字…?(´・ω・`)」となって読めない事が多々ある(1,000億くらいまでならパット見でいけるけど…)ので、シェル芸で数字に単位を付けて...


ファイルPATHが無いといってエラーになるプロセスがあったのだけど、相対PATHしかエラーで返してくれなくてどこを開こうとしてたのかわからない、せめてフルパスを知りたい、ということがあったので備忘で残しておく。
そういうときはstraceで-fを付与することで、対象のプロセスが開こうとしているPATHも取得できるので、そこから調べるといい。

strace -f -p PID

先日実施された、第35回シェル芸勉強会に参加してきたのでその復習(第34回は腰をやって参加してないので、1個空いちゃったなー…)。 今回は、前半はそこまで厳しく無かったのだが、後半が結構難しかったので中々疲れた。

問題及び模範解答はこちら。最初に、問題等に使用するファイルをgitからcloneしておくといい。

git clone https://github.com/ryuichiueda/ShellGeiData.git

Q1.

ちょっと前に話題になっていた、curlでアクセスするとアスキーアートのParty Parrotがターミナル上で動き出すサービスをの出力をファイル...