我有一个小问题,下面的代码工作正常,但现在什么都不显示,我不太明白错误在哪里。
> #! /bin/bash
awk -F, ' FILENAME = $1 { FS = ":" }
{ print $1 " " $2 " " $3 " " $4 }
'
- 我想添加一些选项,例如:./search thefile -C
我希望 reg ex -C 像一个选项一样显示一些特定的东西。
对此有什么想法吗?
谢谢
最佳答案
只是为了让你开始。 . .
如果文件test.dat是这样的
100:200:300:400
然后这个 shell 脚本将打印这些值中的每一个。
#! /bin/bash
awk 'BEGIN { FS = ":" } NF==4 && $0 ~/:/{ print FILENAME, $1 " " $2 " " $3 " " $4 }' $1
使用单引号参数调用 shell 脚本“test.sh”,如
./test.sh 'test*.dat'
测试 NF>=4
确保在尝试打印之前至少有四个字段。正则表达式匹配 $0~/:/
确保该行至少有一个冒号。 (可能有更好的方式来表达您想要做的事情。)
FILENAME
变量告诉您该行来自哪个文件。在您确信一切按预期运行后,您或许可以删除它。
关于regex - Shell/AWK - 它不显示值,以及如何添加 reg exp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10268355/