我试图获得基于regex的第一个匹配组,但是它没有在第二个awk命令之后打印任何内容。不知道我做错了什么。任何帮助都是非常感谢的。
git status | awk 'NR=1' --> Limiting this t0 print the first line.
On branch TA1692959
git status | awk 'NR=1' | awk '/^On\sbranch\s([\w]*)/{ print $1 }' --> I was trying to get the first word "TA1692
如果Nth字段中包含字符串s,那么在bash中快速执行一行代码来过滤掉以制表符分隔的文件中的所有行的最好方法是什么?示例:
$ cat myfile
A B_crop C
A X_mock D
$ cat myfile | filter -V -c 2 -s "crop"
A X_mock D
组合命令filter接受一个列号(从1开始)的-c和一个字符串-s,并且只保留在给定列中包含该字符串的行。如果传递给它的是-V,那么就像grep一样,它排除没有字符串是该列号中的子字符串的行。谢谢。
我目前有一个gawk程序,它可以做我想做的事情:
gawk '{command = ("python gen.py")
print $0 | command
close(command)}' RS='*** END OF THE RECORD' bigfile.txt
基本上,我有一个大文件(大约1 gb),其中有几百条记录,每条记录都以“* END OF THE RECORD”开头。每个记录块都有几兆字节大小,比如~5mb。
我将文件分成几个小部分(由“*END OF the RECORD”行分隔),并将其通过管道传输到pyth
我希望有一个awk正则表达式,它可以给出不匹配特定单词的所有字符串。
使用/^((?!word \+).)*/在java中工作,但在AWK中不工作。
获取编译失败错误,转义括号修复编译错误,但正则表达式匹配不正确。
如果任何人都能帮助使用awk正则表达式,那就太好了。
我不能使用string" !~ /regex/
我需要对所有字符串使用string" ~ /regex/ regex,但是对于一个特定的字符串。
包含domain的字符串应该被过滤掉。输入
This is domain test
This is do test
This is test
输出
This is do
这就是我的table.txt的样子:
name text
test123 rock
test345 cena
我将在我的a.sh文件中使用表信息,如下所示:
e = 345
echo "the value of e is $e"
a=$(awk -v str=test '$2 ~ "^" $e { print $2 ; exit;}' /desktop/table.txt)
if [ -z "$a" ]
then echo "string not found: $arr"