Удалить ненужный символ с помощью awk

17

У меня есть вывод команды, из которого я хочу удалить "

Regex : strings -a libAddressDoctor5.so | grep EngineVersion | awk '{if(NR==2)print}' | awk '{print}'

Выход : EngineVersion="5.2.5.624"

Я хочу знать, как awk или sed удаляет некоторые нежелательные символы?

    
задан abi1964 04.11.2011 в 12:27
источник

2 ответа

20

Использовать замену sed: sed 's/"//g'

s/X/Y/ заменяет X на Y.

g означает, что все вхождения должны быть заменены не только первым.

    
ответ дан Piotr Praszmo 04.11.2011 в 12:43
источник
20

Используя только awk, вы могли бы сделать (я также сократил некоторые ваши конвейеры):

strings -a libAddressDoctor5.so | awk '/EngineVersion/ { if(NR==2) { gsub("\"",""); print  } }'

Я не могу проверить это для вас, потому что я не знаю вашего точного ввода, но следующие работы

echo "Blah EngineVersion=\"123\"" | awk '/EngineVersion/ { gsub("\"",""); print  }'

См. также замену символа '' 'с помощью awk

    
ответ дан gregswift 09.01.2013 в 00:20
источник