grep \"%s\" %s | awk '{print $5}' > %s\n
问题描述:
grep \"%s\" %s | awk '{print $5}' > %s\n
答
·1、这应该是一个在宿主语言中(比如:c语言)待拼接成一个完整的linux/Unix命令串的字符串,待拼接完成后,再利用system("")调用这个命令;
以c语言为例,拼接如下:
sprintf(cmd,"grep \"%s\" %s | awk '{print $5}' > %s\n",str_a,str_b,str_c);
这个命令的转换成linux直观的命令为:grep "字符串_1" 字符串_2 | awk '{print $5}' > 字符串_3
其中:
"字符串_1"为grep过滤的模式;
"字符串_2"为grep筛选的对象文件名;
"字符串_3"为筛选结果输出的文件名;
即,从文件名为"字符串_2"中筛选满足条件 "字符串_1" 的行,并按照空格作为行分隔符,然后提取第5列,写入(不重复)文件名为"字符串_3"的文件中.
·2、因此,这个 grep \"%s\" %s | awk '{print $5}' > %s\n 命令串片段的作用为:
从文件名为"第二个%s"的文件中,筛选满足grep条件"第1个%s"的行,并将该行中以空格分隔的第5列写入文件名为"第3个%s"的文件中.(PS:">"的作用不用解释吧)
3、最后,希望下次楼主问的问题不要这么含蓄,乍一看还真不知道是啥.