使用 "sed command" 在多输出文件中打印由 "F served.." 开始的行
print line started by "F served.." in a multiple output file using "sed command"
我开发了一个脚本,使用 sed
从给定的多行文件中检索以文本 F servedM..
开头的行:
- 我有一个 input.txt 100000 行的文件
- 我想生成一个
output.txt
,其中包含所有以 F servedMyd
开头的行和所有以 F servedPuid
开头的行。
我在 Red Hat 7.4 上使用 ksh。
下面给出我试过的代码。
#!/bin/ksh
input.txt=
while read line
do
sed "/^F servedMyd/p" $input.txt >> output.txt
sed "/^F servedPuid/p" $input.txt >> output.txt
done < $input.txt
exit 0
使用这段代码,我没有得到任何输出。我希望有一个具有以下结构的输出文件:
不需要脚本,一行sed
就足够了:
sed -n '/^F served\(My\|Pui\)d/p' foo > bar
或grep
:
grep '^F served\(My\|Pui\)d' foo > bar
或者:
grep -E '^F served(My|Pui)d' foo > bar
我开发了一个脚本,使用 sed
从给定的多行文件中检索以文本 F servedM..
开头的行:
- 我有一个 input.txt 100000 行的文件
- 我想生成一个
output.txt
,其中包含所有以F servedMyd
开头的行和所有以F servedPuid
开头的行。
我在 Red Hat 7.4 上使用 ksh。
下面给出我试过的代码。
#!/bin/ksh
input.txt=
while read line
do
sed "/^F servedMyd/p" $input.txt >> output.txt
sed "/^F servedPuid/p" $input.txt >> output.txt
done < $input.txt
exit 0
使用这段代码,我没有得到任何输出。我希望有一个具有以下结构的输出文件:
不需要脚本,一行sed
就足够了:
sed -n '/^F served\(My\|Pui\)d/p' foo > bar
或grep
:
grep '^F served\(My\|Pui\)d' foo > bar
或者:
grep -E '^F served(My|Pui)d' foo > bar