私が持っているとしましょう:
variable=string
では、最初の文字の括弧を変更したい
${variable/firstletter/[firstletter]}
最後に、スクリプトでこれを使用して、正規表現パターンが独自に一致しないように修正したいと思います。
ps -e -o time,user,pid,ppid,comm,args | grep ${variable/firstletter/[firstletter]}
grep -v grep
追加のパイプおよび/または代わりにこれを使用したいと思います。pgrep
また、awkコマンド自体を印刷するのではなく、awkを使用してgrepなどのプロセスを実装する方法を知っていますか?
ベストアンサー1
引数の最初の文字を取得して括弧で囲んでから、残りを再度追加します。
bash-[508]$ variable=string
bash-[509]$ echo $variable
string
bash-[510]$ echo $variable to [${variable:0:1}]${variable:1}
string to [s]tring
したがって、コマンドは次のようになります。
ps -e -i time,user,pid,ppid,comm,args | grep "[${variable:0:1}]${variable:1}"
これは、変数の文字範囲に対してbashパラメータ置換を使用して開始する場所とインポート期間を提供します。
${variable:0:1}
、文字0(文字列の先頭)から始めて1文字を取得します。したがって、最初の文字を分離するとv
。
${variable:1}
、範囲を定義せずに文字1から始まり、$variableの終わりまですべてを取得しますariable
。