gpt4 book ai didi

bash - 使用 bash 脚本解析文本

转载 作者:行者123 更新时间:2023-11-29 09:37:02 24 4
gpt4 key购买 nike

我想构建一个读取文件并生成一些命令行参数的 bash 脚本。我的输入文件看起来像

20.83      0.05     0.05  __adddf3
20.83 0.10 0.05 __aeabi_fadd
16.67 0.14 0.04 gaussian_smooth
8.33 0.16 0.02 __aeabi_ddiv

我必须检测并复制所有的 __* 字符串并将它们转换成一个命令,例如

gprof -E __adddf3 -E __aeabi_fadd -E __aeabi_ddiv ./nameof.out

目前我用

#!/bin/bash
while read line
do
if [[ "$line" == *__* ]]
then
echo $line;
fi
done <input.txt

检测请求的行,但我想,我需要的是一个我无法理解的单行命令。有什么好的建议吗?

最佳答案

修改脚本:

#!/bin/bash
while read -r _ _ _ arg
do
if [[ $arg == __* ]]
then
args+=("-E" "$arg")
fi
done <input.txt
gprof "${args[@]}" ./nameof.out

下划线是有效的变量名,用于丢弃不需要的字段。

最后一行使用参数执行命令。

您可以使用进程替换将另一个命令的结果提供给 while 循环:

#!/bin/bash
while read -r _ _ _ arg
do
if [[ $arg == __* ]]
then
args+=("-E" "$arg")
fi
done < <(gprof some arguments filename)
gprof "${args[@]}" ./nameof.out

关于bash - 使用 bash 脚本解析文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859491/

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