linux shell 麻烦帮我详细解说一下这个脚本。正在学习shell

发布网友 发布时间:2022-04-23 17:02

我来回答

3个回答

热心网友 时间:2023-10-10 02:01

1. NF,NR 都是awk的内置变量。
知道英文缩写就知道意思了。NF: Number of Field (字段数),NR: Number of Record (记录数)。

2. while read filenum record
对每一个读入的 filenum 与 record 变量值都送入while循环。根据语法,while后面是逻辑判断,read返回不为空(即逻辑真)就进入并执行while循环。

3. for a in `seq 3 $filenum`
seq产生整数数列,这里就是产生3到$filenum范围的整数序列,sed的具体用法你网上搜索一下就清楚了。filenum就是前面read读进来的(用户输入的)。这个for循环就是对于seq产生的整数数列中的每个数都执行。

4. ${b}就代表变量b的值。加上{}只是为了圈定变量范围。没什么其他意思,这也不是什么正则表达式。 \是转义,$是求值,\$表示就输出$,转义消除了$求值的功能。\$${a} 表示先求变量a的值,然后将这个值作为变量。最后就是输出 ${变量a的值}

5. c=" sed -n '${record}p' abc.txt "
${record}就表示求变量 record 的值,不加{}就表示求变量 recordp 的值。{}用于圈定变量范围。

热心网友 时间:2023-10-10 02:02

谁会给你解释这个 google一下shell语法就都出来了 鸟哥上面也有

热心网友 时间:2023-10-10 02:02

ewrer

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com