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


シェルでファイル名をエスケープにしてクォート地獄を解決する。

シェルスクリプトで、ファイル名をエスケープする

シェルスクリプトで、括弧()やスペースなどの文字種をエスケープしたいときに手早い方法がないか。

printf が手軽だった。

printf "%q" 文字列

実際の例ーカッコ

次のようにいい感じにエスケープしてくれる。

takuya@~$ printf '%q\n' '(note)(todo) 2022-01-23.txt'
\(note\)\(todo\)\ 2022-01-23.txt

実際の例- バックスラッシュ

バックスラッシュをエスケープしてくれる。

takuya@~$ printf '%q' 'C:\Windows'
C:\\Windows

実際の例- シングルクォーテーション

所有で使われるシングルクォーテーションも

takuya@~$ printf '%q' "takuya's"
takuya\'s

いい感じにエスケープを処理してコマンド文字列を作り、xargs や for に流せそうですね。




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

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