记录一下用到的很有用的Linux 命令:
1. grep指定内容并显示前后若干行
grep -A 10 ‘xxx’ test.log //打印匹配行的后10行
grep -B 10 ‘xxx’ test.log//打印匹配行的前10行
grep -10 ‘xxx’ test.log//打印匹配行的前后10行
或
grep -C 10 ‘xxx’ test.log//打印匹配行的前后10行
或
grep -A 10 -B 10 ‘xxx’ test.log //打印匹配行的前后10行
2. 批量替换方法一:适用于要替换的字符串是固定的或者说是单一的
3. 批量替换方法二:适用于要替换的字符串想要通配符替代或者说是多样的
grep -rl -E "aaa.*=4" . |xargs -I {} sed -i 's/4/16/g' {}
功能:先递归找到包含aaa.*=4的行,然后把4替换成16,行内其他内容不变
4.统计目录下.v文件的总行数
4.1 find . -type f -name "*.v" -exec cat {} \; | grep -v '^$' | wc -l
解释:find . -type f -name "*.v" 查找当前目录下所有以.v结尾的文件,如果不考虑文件类型,可以直接实用find . -type f即可。 -exec cat {} \; 是将找到的文件采用cat命令输出; grep -v '^$' 是将不是空行的内容进行统计,如果是空行就不统计,它相当于一个过滤器。 wc -l 统计输出来的代码的行数。如果不需要对空行进行过滤的话,可以省去grep -v '^$'
4.2 find . -type f | xargs wc -l
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
补充点:
1.

2.
3. 命令中的{ }代表的是「由 find 找到的内容」,找到的结果会被放置到 { } 位置中;
-exec一直到 ; 是关键字,代表找到额外动作的开始(-exec)到结束(\),在这中间的就是找到指令内的额外动作
4. wc命令
wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
语法:wc [选项] 文件…
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,
则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
- c 统计字节数。
- l 统计行数。
- w 统计字数。
这些选项可以组合使用。
输出列的顺序和数目不受选项的顺序和数目的影响。
总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
省略任选项-lcw,wc命令的执行结果与上面一样。

1922

被折叠的 条评论
为什么被折叠?



