`

shell传递参数给awk

阅读更多

shell传参数给awk
i=1
ATP-T3000:~/bhz # cat file
0f 31 00 12 00 05 01 06 03
awk "{print \$$((6+i))}" file
01

awk "{print \$${i}}" file
0f

只能引用数字,不能引用字母
awk "BEGIN{print "${i}"}"
1
test=10
awk "BEGIN{print "${test}"}"
10
awk "{print "${test}"}"  file
file为任意内容
10
awk "{print $test}" file
10

test1="abc"
test2="def"
echo |awk -vt1=$test1 -vt2=$test2 'BEGIN{print t1 t2}'
abcdef

test1="abc"
awk 'BEGIN{print '"\"$test1\""'}'
abc

test=abcd
awk -va=$test '{print a}' 1
awk -va=$test 'BEGIN{print a}'
还是awk里面传shell变量的问题
sed及awk引用shell变量时可以使用双引号来实现:
在模式里面可以这样使用
b="aaa"
awk "/${b}/" filename
4 aaa 1000
3 aaa 1000
1 aaa 1000

ABC=("pcscd" "mcstransd" "dbus")
abc=("111" "222" "333")

j=0
for i in "${ABC[@]}";do
        ps -ef|grep $i|grep -v grep|awk  '{print  '${abc[$j]}',$3,$4}'
        ((j++))
done

a=20110101
awk 'BEGIN{print "adsad" > '$a'}'
awk 'BEGIN{print "adsad" > "'$a'"}'
awk  -v f=$file 'BEGIN{print "==========" > f}'

xiabao@6P9SN2X ~/test
$ cat urfile
111
222
333
444
555
a=(`cat f`)
xiabao@6P9SN2X ~/test
$ ARRAY=(`awk '{print $1}' urfile`)

xiabao@6P9SN2X ~/test
$ echo ${ARRAY[0]} ${ARRAY[1]} ${ARRAY[2]}
111 222 333

分享到:
评论

相关推荐

    linux-shell脚本命令:awk命令简介

    - -v:定义变量,用于从shell中向awk脚本传递变量。 - -fprogfile:调用并执行指定的程序文件,该文件应符合awk语法。 awk内置变量包括: - ARGC:表示命令行参数的个数。 - ARGV:表示命令行参数数组。 - ARGIND:...

    shell、awk编程教材

    4. **参数传递**:SHELL脚本可以接收命令行参数,使得脚本具有灵活性。 5. **流程控制**:SHELL支持多种流程控制结构,如条件语句、循环语句等,方便编写复杂逻辑。 **三、SHELL程序** SHELL程序由一系列命令组成,...

    shell基础+sed+awk的使用

    - `$1`至`$9`表示传递给脚本的参数。 - **预定义变量**: - `$*`代表所有参数。 - `#$`代表参数的数量。 ### Sed与Awk命令详解 - **sed(Stream Editor)**: - 是一种强大的文本流编辑器,用于过滤和转换...

    linux Shell脚本里面把一个数组传递到awk内部进行处理

    前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法。...众所周知,Shell脚本里面把一个普通变量传递给awk是非常简单的,直接用 -v 参数赋值就行了。 s

    awk 介绍,unix shell

    3. 命令解释器:在 shell 脚本中调用 awk,将 awk 程序作为参数传递,增强了脚本的灵活性。 在实际使用中,awk 可以作为 shell 脚本的一部分,与其他 UNIX 工具如 sed、grep、sort 和 find 结合,构建出强大的文本...

    shell编程指南,shell脚本,本书共分五部分全。grep家族,sed,AWK,正则表达式,tr用法

    第20章 向脚本传递参数 224 第21章 创建屏幕输出 236 第22章 创建屏幕输入 252 第23章 调试脚本 274 第24章 shell嵌入命令 277 第五部分 高级shell编程技巧 第25章 深入讨论 第26章 shell 工具 289 第27章 几个脚本...

    unix shell awk 修改ini文件的脚本

    ### Unix Shell Awk 修改Ini 文件的脚本 在Unix环境下,对配置文件(尤其是INI格式的文件)进行处理是一项常见的需求。本篇文章将基于提供的标题、描述、标签以及部分代码内容,详细介绍如何利用Unix Shell结合Awk...

    shell脚本修改json中某个字段的值

    接着,它传递给sed,sed会找到字段值并替换为新的值。注意,这个脚本假设JSON格式是标准的,没有额外的空格或换行,并且字段名和值都是双引号包围的。 然而,这种方法有一些限制。由于JSON是一种结构化数据,使用...

    AWK AWK 详细使用文档

    - **获取命令行参数**:使用特殊的变量`ARGV`可以获取传递给AWK程序的命令行参数。 - **示例**:可以在程序中使用`ARGV[1]`来访问第一个命令行参数。 #### 十、编写交互式程序 - **读取用户输入**:可以使用`...

    UNIX命令及SHELL编程

    20_基础shell编程-向脚本传递参数.PDF 21_基础shell编程-创建屏幕输出.PDF 22_基础shell编程-创建屏幕输入.PDF 23_基础shell编程-调试脚本.PDF 24_基础shell编程-shell嵌入命令.PDF 25_高级shell编程技巧-深入...

    awk学习awk学习awk学习awk学习

    4. **命令行参数**: awk可以通过命令行参数传递值给脚本。 ```sh awk -v var=123 'BEGIN { print "变量值为: " var }' ``` 这里使用`-v`选项向awk传递一个名为`var`的变量,并在BEGIN块中打印出它的值。 5. **...

    AWK学习笔记.doc

    在命令行中,可以将AWK脚本直接作为参数传递,或者使用`-f`选项指定包含脚本的文件。 **一.7 AWK的变量** AWK有预定义的变量,如`$0`代表当前记录(整行),`$1`到`$n`代表字段(按空格或制表符分隔)。用户也可以...

    Shell编程范例之字符串操作-TinyLab原创

    例如,可以利用Shell的参数扩展功能来提取子串,或者使用文本处理工具如sed和awk等来执行复杂的字符串替换和插入操作。字符串的长度可以通过`expr length`命令来获得。而对于字符串的存储结构,除了可以简单地作为...

    awk 工具用法说明

    - `df | awk '$4>1000000'`: 通过管道将`df`命令的输出传递给`awk`,显示第四列大于`1000000`的行。 5. **自定义分隔符** - `awk -F "|" '{print $1}' file`: 按照`|`字符作为字段分隔符,打印每行的第一列。 - ...

    linux awk学习

    - `$1` 是传递给该 shell 脚本的第一个参数。 - `$2` 是传递给该 shell 脚本的第二个参数。 - `$@` 是传给脚本的所有参数的列表。 - `$*` 以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可以超过9个...

    AWK 中文教程

    - **管道**:通过管道 (`|`) 将 AWK 输出传递给其他命令,或从其他命令读取输入到 AWK。 #### 九、实战案例 - **重定向输出到文件**:使用重定向操作符 (`>` 或 `>>`) 可以将 AWK 输出写入到文件中。 - **利用系统...

    linux shell awk获得外部变量(变量传值)简介

    在编写Shell脚本时,我们常常需要将外部变量传递给`awk`,以便在`awk`命令中使用这些变量。本文将详细介绍如何在`awk`中获取和使用外部变量。 首先,让我们了解`awk`的基本语法: ```bash awk [ -F re ] [ ...

    Shell学习笔记总结

    本资源是 Shell 学习笔记的总结,涵盖了 Shell 的基本概念、类型、变量、进程、权限、管道、POSIX、grep、sed、awk 等命令和编程语言。 一、 Shell 的类型和特点 Shell 是一种命令行界面,提供了访问操作系统的...

    新版Linux Shell编程实训(全)20170518.docx

    3. **Shell传递参数**:介绍了如何在Shell脚本中接收和处理命令行参数,通过案例展示了参数比较和通过参数描述变量的方法。 4. **Shell数组**:教授如何在Shell中定义和使用数组,提供相关案例加深理解。 5. **...

Global site tag (gtag.js) - Google Analytics