找到包含“^”的行并用“”替换整行

时间:2010-07-30 18:38:28

标签: regex sed

我有一个文件,每行都有一个字符串...即

test.434
test.4343
test.4343t34
test^tests.344
test^34534/test

我想找到包含“^”的任何行,并用空格替换整行。

我试图使用sed:

sed -e '/\^/s/*//g' test.file

这似乎不起作用,有什么建议吗?

2 个答案:

答案 0 :(得分:4)

sed -e 's/^.*\^.*$//' test.file

例如:

$ cat test.file
test.434
test.4343
test.4343t34
test^tests.344
test^34534/test
$ sed -e 's/^.*\^.*$//' test.file
test.434
test.4343
test.4343t34


$

要完全删除违规行,请使用

$ sed -e '/\^/d' test.file
test.434
test.4343
test.4343t34

答案 1 :(得分:0)

其他方式

AWK

awk '!/\^/' file

的bash

while read -r line
do
  case "$line" in
    *"^"* ) continue;;
    *) echo "$line"
  esac
done <"file"

可能是最快的

grep -v "\^" file