gpt4 book ai didi

regex - 使用 awk 进行模式匹配

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:53 26 4
gpt4 key购买 nike

我有一个这样的文件 hoge.txt:

case $1 in
[ $input = "q" ] && exit
if [ -s $filename ]
if [ ! -f $1 -o -f $2 ]
echo $list
rm -f ${BKDIR}
BKDIR=/${HOME}/backup

我想找到所有字母变量,排除每个参数,如“$1”,并输出到一个新文件,如下所示:

$input
$filename
$list

我现在能做的最好的就是

cat hoge.txt | awk '{for(i=1;i<=NF;i++){ if($i=="$/[a-zA-Z]/"){print $i} } }'

但它没有返回任何结果。

最佳答案

您不需要使用 Awk对于这样一个简单的例子,只需使用扩展正则表达式支持 -E使用 -o 标记并仅打印匹配的词

grep -Eo '\$[a-zA-Z]+' file

产生

$input
$filename
$list

并使用重定向(>)运算符写入新文件

grep -Eo '\$[a-zA-Z]+' file > variablesList

(或)通过使用 -i 启用不区分大小写的标志来保存两次击键(在下面的评论中建议)

grep -iEo '\$[a-z]+' file

关于regex - 使用 awk 进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45229253/

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