[ Shell入门教程 ] 字符串空格和文件空行删除
1、删除字符串中空格
(1)删除行首空格
echo " 123 45 " | sed -e 's/^[ \t]*//g' #输出123 45
(2)删除行尾空格
echo " 123 45 " | sed 's/[ \t]*$//g' #输出123 45
(3)删除前、后空格,不删除中间空格
echo " 123 45 " | sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g' #输出123 45
(4) 删除字符串中所有空格
echo " 123 567 " | sed 's/[[:space:]]//g' #输出12345 echo " 123 567 " | tr -d '[ \t]' #输出12345
2、删除文件中的空行
grep -v '^$' filename #打印非空行 sed '/^$/d' filename #打印非空行 sed -i '/^$/d' filename #原地置换,原文件删除空行 awk '!/^$/{print}' filename #打印非空行
3、实例
需求:删除文件中行首、行尾空格和文件中的空行
方法一
sed -i -e 's/^[ \t]*//g' -e 's/[ \t]*$//g' -e '/^$/d' filename
方法二
sed -i 's/^[ \t]*//g;s/[ \t]*$//g;/^$/d' filename
分类:
Shell入门教程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义