alıntı tamamen yanlış. Neden tek tırnak, ters eğik çizgi, tek tırnak, tek fiyat teklifi ve her zaman bu sırayla kullanıyorsunuz? Ne olursa olsun, bir çift tırnaklı alıntı var, bu yüzden kabuk, bu açılış çift alıntı ile başlayan alıntı dizesi için kapanış teklifi eklemenizi bekler.
Tarz olarak, Useless Use of Cat'u da kaybetmeli ve komut dosyanızı nasıl basitleştireceğinizi düşünmelisiniz. En azından:
grep -v ^# /abc | grep -i root | sed -e 's/"//g' | awk '{print $2}'
... ama
awk '/^#/ { next } /[Rr][Oo][Oo][Tt]/ { gsub ("\"",""); print $2 }' /abc
awk
ve sed
komut bazı karakterleri kabuğuna özel bir anlama sahip olduğundan pratikte
yılında, biz tek tırnak koyun. Bir komut dosyasında tek tırnak işaretine sahip olmanız gerekiyorsa, bunları iki kez alıntı yapmanız gerekir; sık kullanılan bir desen, aşağıdaki gibi çift tırnakta bir dizgiye bitişik tek tırnak içinde bir dizeye sahip olmaktır:
echo '"'"'"
. Bu ecz
"
(tek tırnak içinde alıntılanmıştır) hemen ardından
'
(çift tırnak içinde alıntılanmıştır).
Edit Güncelleştirme probleminin analizi; eklenen kod örneği; düzeltilmiş kod örneği. Son düzenleme, awk komut dosyasında gsub
alıntılanmasını düzeltir ve küçük bir alıntılama tartışması ekler.
Ne yapmaya çalışıyorsunuz? Diğer bir deyişle, giriş ve çıkışınız nedir? Görevini sadece awk ile başarabileceğini hissediyorum. –