test Macros:
如果gcc -c > result 无法将结果定向到result
使用gcc -c 2> result即可:
eq:
$ '/cygdrive/c/Program Files (x86)/IAR Systems/EmbeddedWorkbench 7.2/v850/bin/iccv850.exe' testMacro.txt 2> result
IAR C/C++ CompilerV4.20.1.00170 for V850
Copyright 1998-2015IAR Systems AB.
Standalone license- IAR Embedded Workbench 64K Kickstart edition for Renesas V850 4.20
Errors: 2
Warnings: 5
然后使用grep命令去搜索关键字undefined,
grep undefinede result
显示哪些宏没有定义。
http://blog.sina.com.cn/s/blog_62449fcf0100np9e.html
我们知道在linux下当我们想把文字用命令输入到一个文本下时可以用echo命令
例:echo "nihao" >/z.txt
同样当我们想把命令执行的结果也输入到一个文本时,不用echo,直接命令到输入的文本就行了
例:ls /home > /z.txt
---------------------------------------------------------------------
附:
问:
比如我执行以下命令:
# myisamchk /var/lib/mysql/mysql/*.*
我想把该命令的屏幕输出保存为文件/lyw/error.txt,
因此我用以下命令:
# myisamchk /var/lib/mysql/mysql/*.* > /lyw/error.txt
结果是只能保存一部分屏幕输出内容,程序运行后的结果提示并不能
保存到/lyw/error.txt文件中,请问有何办法能让该命令执行的
结果全部保存到一个文件中?
答:
# myisamchk /var/lib/mysql/mysql/*.*> /lyw/error.txt 2>&1(注意: 2>&1中间不能有空格)
问:
谢谢! 不过请问"2>&1"是什么意思?为什么加上它就可以了?
答:
标准输入是文件描述符0
标准输出是文件描述符1
标准错误是文件描述符2
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
-
想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:
make xxx > build_output.txt
此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的。
2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用:
make xxx 2> build_output.txt
相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出的正常信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。
3.只需要把make输出中的正常(非错误,非警告)的信息输出到文件中,可以用:
make xxx 1> build_output.txt
相应地,由于2=stderr没有变,还是屏幕,所以,那些命令执行时候输出的错误信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。
4.想要把正常输出信息和错误信息输出到分别的文件中,可以用:
make xxx 1> build_output_normal.txt 2>build_output_error.txt
即联合使用了1和2,正常信息和错误信息,都输出到对应文件中了。
5. 所有的信息都输出到同一个文件中:
make xxx > build_output_all.txt 2>&1
其中的2>&1表示错误信息输出到&1中,而&1,指的是前面的那个文件:build_output_all.txt。
注意:上面所有的1,2等数字,后面紧跟着大于号'>' ,中间不能有空格。 -
http://www.cnblogs.com/zhangmo/p/3571735.html
-
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。
-
区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
-
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
-
一.find命令
-
基本格式:find path expression
-
1.按照文件名查找
-
(1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
(2)find /etc -name httpd.conf #在/etc目录下文件httpd.conf
(3)find /etc -name '*srm*' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
(4)find . -name 'srm*' #表示当前目录下查找文件名开头是字符串‘srm’的文件 -
2.按照文件特征查找
-
(1)find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
(2)find / -atime -2 # 查找在系统中最后48小时访问的文件
(3)find / -empty # 查找在系统中为空的文件或者文件夹
(4)find / -group cat # 查找在系统中属于 group为cat的文件
(5)find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
(6)find / -mtime -1 #查找在系统中最后24小时里修改过的文件
(7)find / -user fred #查找在系统中属于fred这个用户的文件
(8)find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
(9)find / -size -1000k #查找出小于1000KB的文件 -
3.使用混合查找方式查找文件
-
参数有: !,-and(-a),-or(-o)。
-
(1)find /tmp -size +10000c -and -mtime +2 #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
(2)find / -user fred-or -user george #在/目录下查找用户是fred或者george的文件文件
(3)find /tmp ! -userpanda #在/tmp目录中查找所有不属于panda用户的文件
-
二、grep命令
-
基本格式:find expression
-
1.主要参数
-
[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。 -
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
* :有字符,长度可以为0。 -
2.实例
-
(1)grep 'test' d* #显示所有以d开头的文件中包含 test的行
(2)grep ‘test’ aa bb cc #显示在aa,bb,cc文件中包含test的行
(3)grep ‘[a-z]\{5\}’ aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
(4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行
(5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行 -
(6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
-
详细使用参见:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html