从文件中进行 grep 以获得预期结果
To grep from file to get expected result
我的文件包含变量 ans,其中定义了一些值。我正在尝试使用 grep 命令获取所有这些变量。我想根据 "=" 符号列出它们。我知道使用 grep "ans" Test.txt 会列出所有 ans 变量。但这不是我要找的。如果我做 grep "ans=" Test.txt 它应该列出名称为 ans.
的所有变量
请帮助我如何完成这项工作
test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
普通grep命令o/p:-
grep ans test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
预期的 grep 命令o/p:-
grep "ans=" test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
你可以试试这个awk
:
awk -v key='ans=' '
{
s = [=10=]
gsub(/[[:blank:]]+/, "", s)
}
s ~ "^" key {
print
exit
}' test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
$ grep 'ans *=' file
ans= 10;
ans =11;
ans = 5;
ans = 8;
如果这不是您所需要的全部,请编辑您的问题以阐明您的要求并提供更好的示例 input/output 可用于彻底测试您的要求。
我的文件包含变量 ans,其中定义了一些值。我正在尝试使用 grep 命令获取所有这些变量。我想根据 "=" 符号列出它们。我知道使用 grep "ans" Test.txt 会列出所有 ans 变量。但这不是我要找的。如果我做 grep "ans=" Test.txt 它应该列出名称为 ans.
的所有变量请帮助我如何完成这项工作
test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
普通grep命令o/p:-
grep ans test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
预期的 grep 命令o/p:-
grep "ans=" test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
你可以试试这个awk
:
awk -v key='ans=' '
{
s = [=10=]
gsub(/[[:blank:]]+/, "", s)
}
s ~ "^" key {
print
exit
}' test.txt
ans= 10;
ans =11;
ans = 5;
ans = 8;
$ grep 'ans *=' file
ans= 10;
ans =11;
ans = 5;
ans = 8;
如果这不是您所需要的全部,请编辑您的问题以阐明您的要求并提供更好的示例 input/output 可用于彻底测试您的要求。