有懂linux的shell命令的朋友们帮帮忙吧?有几行代码看不懂。急急急。。。

2024-12-25 16:30:55
推荐回答(3个)
回答1:

1)NAME = `sed -n ${a} p ${b} | awk -F ': ' '{print $1}'`
--打印文件(${b}最终代表一个文件名)的某一行(${a},最终代表行数),然后在这种中以“:”为分隔符打印第一个字段
2)for list in `sed -n ${START_LINE},${END_LINE} p ${MAINTE_FILE}`
--从文件( ${MAINTE_FILE})中 ,打印从某一行(${START_LINE}起始行号)到某一行的文本(${END_LINE}结束行号),然后list每次读取一行,然后对该行进行其他的处理
3)if[`echo ${list} | egrep '\.bat|dwo.log'`
-- 这个if你没有写全吧,怎么少了‘]’括号,如果${list}这个是紧接着上面的for的,就是在某一行当中查找是否存在.bat或者dwo.log的关键字,如果存在`echo ${list} | egrep '\.bat|dwo.log'`就输出该行,如果不存在则`echo ${list} | egrep '\.bat|dwo.log`的结果就是空

回答2:

第一个是 给NAME赋值,赋值的内容是文件"b"中的包含字符"a“的那一行的第一个":"前的东西
第二个和第一个差不多,只不过赋值是给list,加上for会一行一行的循环
第三个我不懂,看楼上的

回答3:

这是正则表达式