gpt4 book ai didi

shell - 具有多个条件的 sed

转载 作者:行者123 更新时间:2023-12-02 06:05:18 30 4
gpt4 key购买 nike

很难说出这里问的是什么。这个问题是模棱两可的、含糊的、不完整的、过于宽泛或修辞的,不能以其目前的形式得到合理的回答。如需帮助澄清此问题以便可以重新打开,visit the help center .




9年前关闭。




我有 3 个 sed命令:

sed -n 's/.*domain=\([^&]*\).*sdk_ver=\([^&]*\).*/\1 \2/p' inputfile > outputfile
sed -n 's/.*sdk_version=\([^&]*\).*domain=\([^&]*\).*/\2 \1/p' inputfile > outputfile
sed -n 's/.*domain=\([^&]*\).*sdk_version=\([^&]*\).*/\1 \2/p' inputfile > outputfile

每个命令都有一个标准。我只想将 3 个命令放入 1 个命令中,以获得一个输出文件,其中包含所有结果作为三个条件的联合。

最佳答案

使用多个 Sed 表达式

您可以将多个 sed 表达式放置在由换行符分隔的脚本中,或者作为由 分隔的多个表达式。 -e 选项。例如:

sed -n -e 's/.*domain=\([^&]*\).*sdk_ver=\([^&]*\).*/\1 \2/'      \
-e 's/.*sdk_version=\([^&]*\).*domain=\([^&]*\).*/\2 \1/' \
-e 's/.*domain=\([^&]*\).*sdk_version=\([^&]*\).*/\1 \2/p' \
inputfile > outputfile

在这个例子中,sed 将在每个输入行上顺序运行表达式,并且只在序列中的最后一个表达式被处理后打印模式空间。当然还有其他方法可以做到这一点,但鉴于您的示例,这似乎是最合适的。

关于shell - 具有多个条件的 sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569823/

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