gpt4 book ai didi

linux - bash - 解析文件中的参数列表

转载 作者:太空狗 更新时间:2023-10-29 11:15:18 24 4
gpt4 key购买 nike

我有一个名为 foo.sh 的脚本,其中包含类似

exec myapp -o size=100m -f 

知道如何创建另一个脚本来解析 foo.sh 并检索 size 的值吗?可以假设 myapp 只在 foo.sh 中出现一次,但是 size 参数的顺序可以出现在参数列表中的任何地方

谢谢

最佳答案

在 shell 中:

$ grep -oP 'myapp.*?size=\K\d+m' foo.sh
100m

在 shell 中:

$ awk -F'size='  '{sub(/ -f/, "");print $2}' foo.sh
100m

$ awk '{print gensub(/.*size=([0-9]+m).*/, "\\1", $0)}' foo.sh
100m

在 shell 中:

$ perl -lne 'print $1 if /exec.*?size=(\d+m)/' foo.sh
100m

或者使用一个有趣的 shell 技巧:

$ declare $(grep -oP "\b\w+=\w+\b" foo.sh)
$ echo $size
100m

关于linux - bash - 解析文件中的参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072795/

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