cutコマンドを使用して出力vendor_id : GenuineIntel
をvendor_id = GenuineIntel
に変換するにはどうすればよいですか?文字列出力を変換する(bashスクリプト)
#!/bin/bash
VENDORID=`cat /proc/cpuinfo | grep 'vendor_id'|cut -d`=`-f 5`
vendor_id: GenuineIntel
echo $VENDORID
cutコマンドを使用して出力vendor_id : GenuineIntel
をvendor_id = GenuineIntel
に変換するにはどうすればよいですか?文字列出力を変換する(bashスクリプト)
#!/bin/bash
VENDORID=`cat /proc/cpuinfo | grep 'vendor_id'|cut -d`=`-f 5`
vendor_id: GenuineIntel
echo $VENDORID
を持つ変数に
tr ':' '=' < /proc/cpuinfo
割り当てで=
に文字:
を翻訳:
vendorid=$(grep 'vender_id' /proc/cpuinfo | tr ':' '=')
printf "%s\n" "$vendorid"
ネストしやすいので、バックステッチを$(..)
に変更しました。また、変数の拡張を二重引用符で囲むことも忘れないでください。$vendorid
- >"$vendorid"
またはword splittingとなります。
tr
は、この場合の変更等号のすべてのコロン、例えばになります
% echo "a:b:c" | tr ':' '='
a=b=c
お返事ありがとうございました。出来た。 – user3613649
@ user3613649私は助けることができてうれしいです:-) – andlrc
あなたの答えに投票しました。 – user3613649
あなたはtr
anslateを使用することができます
vendorid=$(tr ':' '=' < /proc/cpuinfo)
VENDORID=$(sed -n '/vendor_id/{s/:/=/p;q}' /proc/cpuinfo)
これは良い答えです。 '{s /:/ =/p; q}'が何をしているのかよく分かりますか? – andlrc
単一引用符として利用していない、(サブコマンドを使用)、バッククォートを避けてください。 –