J'essaie
grep searchterm myfile.csv | sed 's/replaceme/withthis/g'
et obtenir
unknown option to `s'
Qu'est-ce que je fais mal?
Modifier:
Selon les commentaires, le code est en fait correct. Mon code complet ressemblait à quelque chose comme ce qui suit
grep searchterm myfile.csv | sed 's/replaceme/withthis/g'
# my comment
Et il semble que, pour une raison quelconque, mon commentaire ait été incorporé dans sed. Très étrange.
utiliser l'option --expression
grep searchterm myfile.csv | sed --expression='s/replaceme/withthis/g'
utilisez "-e" pour spécifier l'expression sed
cat input.txt | sed -e 's/foo/bar/g'
Pour que sed
attrape à partir de stdin, à la place d'un fichier, vous devez utiliser -e
.
Comme ça:
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 $4}'
Si vous essayez d'effectuer une mise à jour sur place de texte dans un fichier, il est beaucoup plus facile de raisonner dans mon esprit.
grep -Rl text_to_find directory_to_search 2>/dev/null | while read line; do sed -i 's/text_to_find/replacement_text/g' $line; done