`

linux常见操作

 
阅读更多
空行过滤掉
在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能。将常用的介绍如下吧:
1. grep
grep . data.txt
grep -v '^$' data.txt
grep '[^$]' data.txt

2. sed
sed  '/^$/d' data.txt
sed '/^\s*$/d' data.txt   #这个命令还可将完全空格、tab等组成的空行删掉。
# The character class \s will match the whitespace characters <tab> and <space>.

3. awk
awk NF data.txt   # 这个也可以将空格、tab等组成的空行删掉。
awk '!/^$/' data.txt

4. tr
tr -s '\n' < data.txt
貌似这些可以处理的命令里面,“grep . data.txt”这个的效率是比较高的;如果处理大数据量时可以比较一些这些命令的性能。

5. vim中怎样在保留当前已经编辑内容的情况下切换到其它用户继续编辑
:w !sudo tee %
命令:w !{cmd},让 vim 执行一个外部命令{cmd},然后把当前缓冲区的内容从 stdin 传入。
tee 是一个把 stdin 保存到文件的小工具。
而 %,是vim当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径。
所以执行这个命令,就相当于从vim外部修改了当前编辑的文件,好完工。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics