我有一个文件。我想选择不以斜杠开头www.
且不包含斜杠的行。我想将结果输出到result.txt
为了实现第一个要求:
grep -v '^www\.' myfile.txt > result.txt
。
为了实现第二个目标,我将获取 result.txt 并执行:
grep -v '/' result.txt > result2.txt
是否有更好的快捷方式可以在文件上执行多个命令并将结果存储到一个输出文件中:result.txt
我知道|
要执行多个命令,其中左侧命令的输出|
是右侧命令的输入|
。我不知道的是,如果使用 grep 或任何其他命令,我是否应该在|
.换句话说,应该是:
grep -v '^www\.' myfile.txt | grep -v '/' > result.txt
或者
grep -v '^www\.' myfile.txt | grep -v '/' mfile.txt > result.txt
答案1
grep -v -e '^www\.' -e '/' myfile.txt > result.txt
答案2
不用担心使用管道。亚历山大的答案是最好和最纯粹的,但如果我首先寻找最好的公式,我会使用一些步骤:
head file |grep 'first-condition' |grep 'next-conditon'
:: 为您提供概览cat file |grep 'first-condition' |grep 'next-conditon' |wc -l
:: 给出金额grep --color 'complex-condition'
:: 突出真实的选择
在最后一步中,您可以创建一个非常复杂的正则表达式,例如:
egrep -v '(^www\.)|(/)' myfile.txt > result.txt
有时需要使用其他字符串分析命令等,awk
使用管道就非常有用。sed
cut