liunx系统中如何删除文件中的空行的方法

文章目录

      • 1.grep
      • 2. 如果删除文件里面的空行
        • 2.1 使用sed 命令进行修改
        • 2.2去除文件中的空行,也可以使用grep
        • 2.3 使用awk 一样可以进行匹配 文件的空行

1.grep

https://blog.csdn.net/gd0306/article/details/86485303

2. 如果删除文件里面的空行

2.1 使用sed 命令进行修改

  1. 创建一个模拟文件
  2. 使用sed 命令进行修改
    实例演示:
[root@king 测试文件夹]# cat 1.txt 
1234


abcd 


jjhhgbbgg
[root@king 测试文件夹]# sed  -i '/^$/d' 1.txt
[root@king 测试文件夹]# cat 1.txt 
1234
abcd 
jjhhgbbgg

  1. sed -i 是写进文件中,不加 -i 选项是不可以进行 写进文件里的
  2. sed是命令本身
  3. / / 标记匹配范围
  4. ^ 匹配字符串开头
  5. $ 匹配字符串结尾
  6. d 是删除匹配的字符串
  7. 1.txt 是文件名

2.2去除文件中的空行,也可以使用grep

grep可以支持正则表达式,该表达式可以支持一行或多行的空行分割符
grep会打印所有匹配的内容

创建测试文件:
[root@king 测试文件夹]# cat 1.txt 
1234




abcd 




jjhhgbbgg

三种不同的执行方案:
[root@king 测试文件夹]# grep . 1.txt 
1234
abcd 
jjhhgbbgg
[root@king 测试文件夹]# grep -Ev "^$" 1.txt 
1234
abcd 
jjhhgbbgg
[root@king 测试文件夹]# grep -v -e "^$" 1.txt 
1234
abcd 
jjhhgbbgg
  1. grep 是命令本身
  2. . 点事替换任意字符
  3. ^ 匹配字符串开头
  4. $ 匹配字符串结尾
  5. E 使用拓展正则匹配模式
  6. e 使用常规正则匹配模式
  7. v 反向匹配
  8. 1.txt 是文件名

2.3 使用awk 一样可以进行匹配 文件的空行

[root@king 测试文件夹]# awk NF 1.txt 
1234
abcd 
jjhhgbbgg
[root@king 测试文件夹]# awk '!/^$/' 1.txt 
1234
abcd 
jjhhgbbgg
[root@king 测试文件夹]# awk '/./' 1.txt 
1234
abcd 
jjhhgbbgg

你可能感兴趣的:(运维服务,j基础知识)