`
twtbgn
  • 浏览: 45172 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

awk中传入shell变量

    博客分类:
  • awk
 
阅读更多

假设当前目录下有a.log b.log二个文件,利用awk打印出其文件名,脚本如下:

#! /bin/bash
for file in *.log
do
awk 'BEGIN{var=" ' "$file" ' "}END{print var;}' "$file"
done

 

在这里最让人混淆的是单引号和双引号


我们可以利用bash -x test.sh来执行脚本,其会将脚本中的shell变量展开,便于调试

 

’单引号中除(’)都为原本字符,没有特殊意义

"双引号中除($`")都为原本字符,没有特殊意义

 

因此,上述可以展开为:

第一次:

awk 'BEGIN{var="a.log"}END{print var;}‘ a.log

第二次:

awk 'BEGIN{var="b.log"}END{print var;}‘ b.log

 

如果将其写成 awk 'BEGIN{var=' "$file" '}END{print var;}' "$file",则展开为:

第一次:

awk 'BEGIN{var=a.log}END{print var;}‘ a.log

第二次:

awk 'BEGIN{var=b.log}END{print var;}‘ b.log

会报错,因为awk中字符串要用双引号括起来

 

 

将其分解成以下这样,便于理解:

'BEGIN{var=" '   "$file"   ' "}END{print var;}' 这三部分为字符串连接关系

 

转载自:http://blog.csdn.net/gtuu0123/article/details/4647657

分享到:
评论

相关推荐

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

    这次主要说下,怎么样把外部变量传入到awk执行语句中。 一、基础: awk [ -F re] [parameter…] [‘pattern {action}’ ] [-f progfile][in_file…] awk一般语法如上面所说。 如: 代码如下:[chengmo@

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

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

    AWK简单教材.txt (全面)

    - **`-v`**:定义环境变量,如`-v DATE=$DATE`将shell中的$DATE值传入AWK。 - **`-f`**:指定外部脚本文件。 - **`FS`**:字段分隔符,等同于`-F`选项。 - **`NF`**:当前记录的字段数。 - **`NR`**:已读取的记录...

    LINUX与UNIX SHELL编程指南 高清PDF

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    shell 编程指南pdf

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    Linux——shell编程基础

    - **export 命令**:将变量导出到子 Shell 环境中,使子 Shell 也能访问这些变量。 - **unset 命令**:删除环境变量,使其不再生效。 #### 六、特殊变量 - **位置变量**: - `$0`:表示脚本名称。 - `$1` 至 `$n...

    Linux与unix shell编程指南

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    linux shell脚本知识汇总

    本文将汇总Linux Shell脚本中的关键知识点,包括变量、数组、函数、正则表达式以及awk和sed等工具的使用。 1. **概念介绍** - **Shell**:Linux系统的命令解释器,用户通过Shell与操作系统进行交互,执行各种命令...

    shell必学必会命令

    - **Shell内置变量**:系统预先定义好的特殊变量,如`$0`(脚本名称)、`$#`(传入脚本的参数数量)等。 #### 三、Shell 进阶 ##### 3.1 表达式 表达式是用来进行条件判断或计算的语句。 - **测试语句**:用于测试...

    shell编程中级实例

    在这个例子中,我们展示了如何循环遍历`PATH`环境变量中的目录。`IFS=`可以设置分隔符,使得变量按指定的分隔符进行拆分。例如,`IFS=:`将`PATH`变量中的路径按冒号分割。常用的Linux环境变量如`PATH`(命令搜索...

    绝版经典《Linux与UNIX Shell编程指南》

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    LINUX与UNIX SHELL编程指南(很全)

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    如何在Shell脚本中逐行读取文件.doc

    这个脚本使用输入重定向 `读取文件 `mycontent.txt` 的每一行内容,并将其保存在变量 `rows` 中。然后,使用 `echo` 命令将每行内容输出。 方法二:使用 cat 命令和管道符 第二种方法是使用 `cat` 命令和管道符 `|...

    linux shell 编程教程

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    shell编程文档30天

    接着,我们会学习到Shell变量,这是存储数据的地方,如环境变量、位置参数、局部变量等。如何声明、赋值以及操作这些变量是Shell编程的基本技能。例如,`export`用于设置环境变量,`$1`到`$9`代表脚本运行时传入的...

    Linux与unix shell编程指南.rar

    "014-环境和shell变量"章节则可能涵盖了设置和使用环境变量的方法,这对于脚本中变量的全局控制至关重要。"020-向脚本传递参数"章节可能讲述了如何处理脚本执行时传入的命令行参数,这在编写可定制化脚本时非常实用...

    Linux shell编程指南

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

Global site tag (gtag.js) - Google Analytics