Gunakan substitusi sed:sed 's/"//g'
s/X/Y/
mengganti X dengan Y.
g
berarti semua kemunculan harus diganti, bukan hanya yang pertama.
Menggunakan hanya awk yang bisa Anda lakukan (saya juga mempersingkat beberapa perpipaan Anda):
strings -a libAddressDoctor5.so | awk '/EngineVersion/ { if(NR==2) { gsub("\"",""); print $2 } }'
Saya tidak dapat memverifikasinya untuk Anda karena saya tidak tahu persis input Anda, tetapi berikut ini berfungsi:
echo "Blah EngineVersion=\"123\"" | awk '/EngineVersion/ { gsub("\"",""); print $2 }'
Lihat juga pertanyaan ini tentang menghapus tanda kutip tunggal.
tr
bisa lebih ringkas untuk menghapus karakter dari sed
atau awk
, terutama saat Anda ingin menghapus beberapa karakter berbeda dari sebuah string.
Menghapus tanda kutip ganda:
echo '"Hi"' | tr -d \"
# Prints Hi without quotes
Menghapus berbagai jenis tanda kurung:
echo '[{Hi}]' | tr -d {}[]
# Prints Hi without brackets
-d
singkatan dari "hapus".
Ukur lalu lintas dari log akses apache
Pastikan setidaknya ada dua argumen yang diberikan dalam skrip bash