linux shell 脚本 wak语句中 awk 'BEGIN { FS="'"'"'";RS="\n"} {for (i=2;i<=NF;i=i+2)

作者&投稿:蠹彦 (若有异议请与网页底部的电邮联系)
awk 'BEGIN{RS="<!--|-->"}NR%2' urfile 作用awk过滤xml注释,这句话该如何理解呢?~

RS (Record Separator), 记录分隔符
RS="" 设置记录分隔符为,两者皆可用于分隔记录。
start123
这样分割出来就是三条记录start , abcdefg 和 123.

NR (Number of Records), 记录数,awk是以行(记录)为单位处理文本的,每读入一行NR就增1
NR%2 ,我换一种写法你就明白了:NR%2 != 0 {print}
就是说,只打印奇数行。

echo | awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'这个结果就固定是 1 。awk的BEGIN块在从外部读入数据之前就得到执行,这里只有BEGIN块,因此执行结果跟外部输入无关。
首先,初始化,a="b";arr[0]="b";arr["b"]="c"
其次,判断变量a的值是否存在于数组arr的下标中,存在即打印出1,不存在打印0。
数组arr的下标只有0和"b"两个值,变量a的值为"b",因此,存在,打印出1。

其实FS="'"'"'";的意思是以 ' (单冒号)作为分隔符(粘贴到这上面看着不是太清楚,你自己弄下)
linux-hg2:~ # echo '_"'"'"'"_'
_"'"_ (两个双冒号,中间一个单冒号)
linux-hg2:~ # cat test.txt
ab'c'b
linux-hg2:~ # awk 'BEGIN { FS="'"'"'";RS="\n"}{print $1,$2}' test.txt
ab c
linux-hg2:~ #

效果等同于FS="'\''" 双冒号、单冒号、斜杠、单冒号、单冒号、双冒号

RS/ORS:行输入/输出分隔符,默认回车
FS/OFS:字段的输入/输出分隔符,默认为空格和制表符Tab
上面的意思表示为:以“'”作为字段分隔符,以换行作为行分隔符。

FS表示操作的时候以什么为分割符
RS表示记录分割符(Record Separator)
即RS表示的是awk操作最小单位的边界,而FS是这个最小单位中分割的符号
例如:
101,John Doe:102,Jason Smith:103,Raj Reddy
如果不指定RS,指定FS为“,”,那么awk将101作为第一列,剩下的全部为第二列,如果指定RS=":",那么awk就会将内容作为三“行”,第一列包括101,102和103,第二列包括John Doe,Jason Smith和Raj Reddy


托克托县13774431910: 如何在Windows下运行linux shell脚本 -
类侄壮筋: 首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看.并需要配置好git的bin,配置环境变量,把bin的绝对路径复制到环境变量中path.配置git的环境变量之后,在任意文件进行创建一个为mkdir.sh,文件名可以是...

托克托县13774431910: 如何在windows下使用linux的shell脚本 -
类侄壮筋: 你好: 首先,在你编辑shell脚本的时候调用系统内的shell,比如bash或csh等; 第二,在编辑完成自己的脚本后,文件名可以以sh为结尾,如xx.sh,但是不是必须的; 第三,给脚本文件赋予可执行的权限,可执行的前提是要有可读的权限

托克托县13774431910: linux下如何编写shell脚本 - 2012 -
类侄壮筋: 我对shell脚本的认识,除了执行过同事写的shell 脚本外,其他一无所知,为了让自己强大,我决定自己研究shell脚本,也许在你看来很简答,没必要说这么多废话,但是我希望在我的技术blog里记录下来每次的学习的动机,与思想过程,并且我...

托克托县13774431910: linux下的shell脚本. -
类侄壮筋: #!/bin/bash function calc() { if [ $1 -eq 100 ] then echo "num = 100" elif [ $1 -gt 100 ] then echo "num > 100" elif [ $1 -lt 100 ] then echo "num fi } while [ 1 ] do read -p "putin num:" a calc $a if [ $a -eq -1 ] then echo "num = -1 exit!" break fi ...

托克托县13774431910: 如何建立和执行shell脚本文件? -- 基于linux -
类侄壮筋: shell文件就是一个文本文件,用任意编辑器编辑均可 编译完成之后,给文件增加执行权限,使用chmod +x 然后就可以执行了,如果你的脚本不在系统PATH中指定的目录中,使用绝对路径或者相对路径调用即可

托克托县13774431910: linux中如何编写shell脚本? -
类侄壮筋: 用VIM在终端中 vim shell.sh 回车然后写脚本,.保存然后./shell.sh运行或者bash空格shell.sh 运行...

托克托县13774431910: linux环境下shell脚本编写 -
类侄壮筋: 假设.out文件在/home目录下: 1.在命令行窗口下直接敲 /home/.out 回车就运行了. 2.shell脚本的话,如下: #!/bin/bash /home/.out =========================================== 要求不高的话,可以看《linux就该这么学》或者《鸟哥linux私房菜》中专门讲shell脚本的那章,很快能入门. 系统一些的学法,可以看《linux命令行和shell脚本编程宝典》,里面关于基础的、高级的用法都有讲到,很完整. =========================================== 不知道我对你问题的理解对不对头.:)

托克托县13774431910: Linux如何编写shell脚本?
类侄壮筋: 一般以 #!/bin/sh 开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了.Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序. 以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构). 当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用 sh ./file.sh 方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他).

托克托县13774431910: 求助写一个 简单的 Linux Shell 脚本 -
类侄壮筋: 1创建脚本 vim 1.sh2编辑内容#!/bin/bash a=hello echo "$a"3执行脚本 bash 1.sh 定义变量a=hello 输出变量$a,就是hello

托克托县13774431910: 如何写一个linux 的shell脚本? -
类侄壮筋: 简单的说,你把你在终端输入的命令放在一个文件里,这个文件就成了shell脚本 比如你编辑一个文件叫 helloworld.sh 内容是 echo "Hello world!" 你把helloword.sh变成可执行的,就是在终端输入 chmod +x helloworld.sh 然后运行./helloworld.sh 你就成功滴写好了一个shell脚本

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网