我使用'/'"$name"'/d'
删除包含用户输入名称变量的行。但我想一起删除包含$name
和$surname
的行。如何修改此'/'"$name"'/d'
代码?
答案 0 :(得分:1)
可以像这样使用sed:
cat input | sed '/\('"$name"'.*'"$surname"'\)\|\('"$surname"'.*'"$name"'\)/d'
答案 1 :(得分:0)
最简单的是
cat input | egrep -v "$name.*$surname" | egrep -v "$surname.*$name" > output
答案 2 :(得分:0)
awk '/name/ && /surname/ {next} 1' filename
或者,将值从shell传递给awk
awk -v first=$name -v last=$surname '$0 ~ first && $0 ~ last {next} 1' filename
答案 3 :(得分:0)
红宝石(1.9 +)
$ ruby -ne 'next if /'"$name"'/ && /'"$surname"'/;print' file