以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2022/08/25/163421より取得しました。


jc と jq の組み合わせで、ファイル名のクォートが便利

jc と jq の組み合わせで、ファイル名のクォートが便利

ファイル名にスペースが入る

次のように、ファイル名にスペースが入って、コマンドで処理するときにIFS(区切り)として解釈されちゃってとっても邪魔。

takuya@:$ls  -l  *5576*
-rwxrwxrwx 1 takuya takuya 2733101 Oct 26  2021 'IMG_5576 (2).JPG'
-rwxrwxrwx 1 takuya takuya     689 Oct 26  2021 'IMG_5576 (3).AAE'
-rwxrwxrwx 1 takuya takuya     689 Oct 26  2021  IMG_5576.AAE
-rwxrwxrwx 1 takuya takuya 2964682 Oct 26  2021  IMG_5576.JPG
-rwxrwxrwx 1 takuya takuya 2439727 Oct 26  2021 'IMG_E5576 (2).JPG'
-rwxrwxrwx 1 takuya takuya 2679346 Oct 26  2021  IMG_E5576.JPG

jc コマンドと jq コマンドでサクッと

これで、確実にクォートがされる。

takuya@:$ ls  -l  *5576*  | jc --ls | jq .[].filename
"IMG_5576 (2).JPG"
"IMG_5576 (3).AAE"
"IMG_5576.AAE"
"IMG_5576.JPG"
"IMG_E5576 (2).JPG"
"IMG_E5576.JPG"

jc コマンドで、JSONにできると、処理が格段に楽ですね。

bashでぶん回すときに、楽ですね。インストールは面倒だけど。

エスケープ処理がめんどくさくて、python/ruby のexec()スクリプト作ることも多いが、jc | jqで少し楽ができそう

関連資料

jc コマンドの例 - コマンドの結果をJSONの配列やオブジェクトにする。 - それマグで!

prinft でクォートする例 - シェルでファイル名をエスケープにしてクォート地獄を解決する。 - それマグで!




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2022/08/25/163421より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14