扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
背景:可能我们会遇到获取Linux命令执行结果的某一列或某一行的信息。
网站的建设成都创新互联专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为成都纸箱等企业提供专业服务。
awk -F '\t' '{print $1}' name.txt
其中-F表示分割符,本例为\t,$1表示第1列 ,$0表示全部。
ls -lrt | awk -F ' ' '{print $NF}'
好处:这种情况下不需要知道所获取信息在哪一列,直接取最后一列即可。
其中-F表示分割符,本例为空格,$NF表示最后一列,$(NF-1)表示倒数第二列。
awk 'NR awk 'NR==1,NR==4 {print}' file
行号等于1和4的打印出来
awk 'END {print}' name.txt
部分参考
将一条命令的执行结果取得命令执行结果的值有:
1、使用反引号`` (数字键1左边的键,tab键上面,英文方式输入) 如:a=`echo "hello world"`;即将命令 echo "hello world"的输出赋给变量a2、可以使用 $(()),如:a=$(echo "hello world"),即将命令echo "hello world"的输出赋给变量a。
以下为具体语句:
可以用 $? 获取上一条shell命令的返回结果。
一般的约定是: 0 表示成功,非0表示失败。
例如:你可以试验一下
执行正确的shell 命令: 执行 ls,然后紧接着 echo $?
执行错误的shell 命令: 执行 ls /abcdefg,然后紧接着 echo $?
void executeShell(const char *shell){
FILE *stream;
char buf[1024];
memset( buf, '\0', sizeof(buf) );//初始化buf,以免后面写如乱码到文件中
stream = popen( shell , "r" ); //将命令的输出 通过管道读取(“r”参数)到FILE* stream
fread( buf, sizeof(char), sizeof(buf), stream); //将刚刚FILE* stream的数据流读取到buf中
pclose( stream );
printf("%s \n",buf);//打印输出结果
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流