gpt4 book ai didi

linux - 使用 "F served.."在多输出文件中打印由 "sed command"开始的行

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:36 24 4
gpt4 key购买 nike

我使用 sed 开发了一个脚本,从给定的多行文件中检索以文本 F servedM.. 开头的行:

  • 我有一个 100000 行的 input.txt 文件
  • 我想生成一个 output.txt,其中包含所有以 F servedMyd 开头的行和所有以 F servedPuid 开头的行。

我在 Red Hat 7.4 上使用 ksh。

下面我给出了我试过的代码。

#!/bin/ksh
input.txt=$1
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

使用这段代码,我没有得到任何输出。我希望有一个具有以下结构的输出文件:

enter image description here

最佳答案

不需要脚本,一行 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

关于linux - 使用 "F served.."在多输出文件中打印由 "sed command"开始的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56455701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com