Как получить sed для чтения из стандартного ввода?



Я пытаюсь



grep searchterm myfile.csv | sed 's/replaceme/withthis/g'


и получении



unknown option to `s'


что я делаю не так?



Edit:



согласно комментариям код на самом деле правильный. Мой полный код напоминал что-то вроде следующего



grep searchterm myfile.csv | sed 's/replaceme/withthis/g'
# my comment


и похоже, что по какой-то причине мой комментарий был подан как вход в sed. Очень странный.

559   4  

4 ответов:

используйте параметр -- expression

grep searchterm myfile.csv | sed --expression='s/replaceme/withthis/g'

используйте "- e " для указания sed-выражения

cat input.txt | sed -e 's/foo/bar/g'

сделать sed catch из stdin, а не из файла, вы должны использовать -e.

такой:

curl -k -u admin:admin https://$HOSTNAME:9070/api/tm/3.8/status/$HOSTNAME/statistics/traffic_ips/trafc_ip/ | sed -e 's/["{}]//g' |sed -e 's/[]]//g' |sed -e 's/[\[]//g' |awk  'BEGIN{FS=":"} {print }'
  1. открыть файл с помощью vi myfile.csv
  2. пресс побег
  3. тип :%s/replaceme/withthis/
  4. тип :wq и нажать введите

теперь у вас будет новый шаблон в вашем файле.

Comments

    Ничего не найдено.