Alt dizgiyi önce al = awk kullanarak işaret


1

Diyelim ki formda bir sürü satır içeren bir dosyam var.

someString=someMoreCharacters
anotherString.blah=foo=bar
blah.blah.blah=foo.bar.=foobar

Istenilen çıktı

someString
anotherString.blah
blah.blah.blah

Satırın başında başlayan ve ilk eşittir işareti olana kadar devam eden alt dizgiyi çıkarmak için awk kullanmak istiyorum . Bu çıktıyı xargs'a yönlendirmek istiyorum.


1
sed'nin açgözlülüğü bunu hızlı bir şekilde düzeltiyor sed 's/=.*//', ancak ben asla awk ile bir şey yapmadım.
Rob

Yanıtlar:


7

Awk'ta:

awk '{sub(/=.*/, ""); print}' filename

Ancak, Rob'ın çözümünün daha kolay olduğunu düşünüyorum:

sed 's/=.*//' filename
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.