私はこの価値を持っています
option 'staticip' '5.5.5.1'
5.5.5.1
引用符なしでのみ印刷したい。私は使用しています
cat /etc/filename | grep staticip | awk '{print $3}'
しかし、結果は'5.5.5.1'
tr
または、問題のある文字を削除するために使用できます。
cat /etc/filename | grep staticip | awk '{print $3}' | tr -d \'
awkのgsub()
関数を使用して、引用符をゼロに変更できます。
awk '{gsub(/'"'"'/, "", $3); print $3}'
これは本当にgsub(/'/, "", $3)
です。醜さは、引用符を一緒に接着する必要性から来ています。
awk '$2=="staticip" && $0=$4' FS="'"
結果
5.5.5.1
awks substr関数を使用するか、それをcutコマンドにパイプすることができます。awksubstrのmanページをお読みください。
'をawk出力から削除するには、次を使用できます。
sed "s/^'//;s/'$//"
このコマンドは、出力行の最初と最後でのみ'を削除し、awkを使用するほど重くなく、trを使用する場合はそれほど一般的ではありません。awkはメモリ内で非常に大きく、trは常に意図されているとは限らないものをすべて出力から削除します。