shell 去掉空行
时间: 2024-06-22 20:01:52 浏览: 8
在 shell 中,要去掉文本文件中的空行,你可以使用 `sed` 命令,这是一个强大的流编辑器,常用于文本处理。以下是一个简单的例子:
```bash
sed '/^$/d' input.txt > output.txt
```
这里解释一下命令:
- `/^$/`: 这是一个正则表达式模式,`^` 表示行首,`$` 表示行尾,`/^$/` 匹配空行(只有换行符)。
- `d`: 删除匹配到的行。
- `input.txt`: 你的原始文件名。
- `>`: 输出重定向,表示将删除空行后的结果写入到 `output.txt` 文件中。
运行这个命令后,`input.txt` 文件中的所有空行会被移除,并保存到新的 `output.txt` 文件中。
如果你不想创建新的文件,可以直接在原文件上进行修改,用 `-i` 参数:
```bash
sed -i '/^$/d' input.txt
```
这会直接在 `input.txt` 文件上操作并替换空行。
相关问题
shell删除文件空行
你可以使用以下命令来删除文件中的空行:
```shell
sed -i '/^$/d' filename
```
这个命令使用 `sed` 工具来删除文件中的空行。`-i` 参数表示直接对文件进行修改,`/^$/d` 是一个正则表达式,表示匹配空行并删除。将 `filename` 替换为你要操作的实际文件名即可。注意,此命令会直接修改文件,建议在使用之前备份文件内容。
shell过滤空行和注释
可以使用以下命令过滤空行和注释:
```sh
grep -Ev '^\s*($|#)' input_file
```
其中:
- `grep -E` 表示使用正则表达式匹配模式;
- `-v` 表示反选,即只输出不匹配的行;
- `'^\s*($|#)'` 表示匹配以零个或多个空白字符开头,后面是空行或以 # 开头的注释行;
- `input_file` 表示输入文件名。
这个命令会输出去掉空行和注释后的内容。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)