我正在尝试删除包含双引号的所有文本行,我试过这个:
sed -ne '/\"/!p' theinput > theproduct
它没有触及线条。我该怎么办?这是我的脚本:
`touch tmp.txt
打开tmp.txt
read -sn 1 -p“粘贴数据并按任意键转换”
回声
touch tmp.txt
open tmp.txt
read -sn 1 -p "Paste in data and press any key to convert"
echo
sed -e 's/-/ /g' tmp.txt > tmp2.txt
grep -v '"' tmp2.txt > final.txt
open final.txt
echo Study Conversion Successful
第一个sed命令有效。它用一堆空格替换连字符(不要问为什么我需要它)。我从响应中添加的grep命令不起作用。它使引号中的行保持不变。
答案 0 :(得分:3)
没有必要逃避双引号:
sed -ne '/"/!p' theinput > theproduct
答案 1 :(得分:1)
很奇怪。它“对我有用”
$ cat data.txt
dsklfljs
sdjflk"Sdgsd"
sdfj sldkfj "Sdfsd"
sdfj
sdf
sdjflks
$ sed -ne '/\"/!p' data.txt
dsklfljs
sdfj
sdf
sdjflks
也许这是sed
的版本问题?
但是,您也可以考虑使用grep -v
。
$ grep -v '"' data.txt
dsklfljs
sdfj
sdf
sdjflks