特別に抽出する必要がある3つの引用符を含む出力行があります。第二変数で参照されます。たとえば、コマンドを使用すると、cmd | grep tokens
次のような出力が表示されます。
出力
"abcde", "12345", "zyxwv"
私はそこから出なければならない12345
。私が得た最も近いのは、| cut '\"' -f2
コマンドに追加することでしたが、「abcde」を返します。最初の見積もりの代わりに2番目の見積もりを受け取るにはどうすればよいですか?
答え1
コマンド技術を向上させますcut
。"
各先行フィールドが評価されるように区切り記号を指定します"
。
例えば
最初の以前は、"
次のものはありませんでした。
$ echo "\"abcde\", \"12345\", \"zyxwv\"" | cut -d \" -f 1
[empty]
2"
回目前abcde
$ echo "\"abcde\", \"12345\", \"zyxwv\"" | cut -d \" -f2
abcde
3回目が"
来る前に,
$ echo "\"abcde\", \"12345\", \"zyxwv\"" | cut -d \" -f3
,
したがって、予想される結果は4番目になります。
$ echo "\"abcde\", \"12345\", \"zyxwv\"" | cut -d \" -f4
12345
バックスラッシュを避けることがあなたを悩ませないことを願っています。
答え2
これがあなたが達成したいものですか?
variable=$(cmd | grep tokens | cut -d',' -f 2 | sed 's/ //')
答え3
私たちは単にawkを使って行うことができます
たとえば、
[User@test ~]$ echo "abcde", "12345", "zyxwv" awk -F"," '{Print $2}' 12345
出力がcmdから出る場合
変数= '
<cmd> | awk -F"," '{print $2}'