首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除Unix中行域之间的空格

问删除Unix中行域之间的空格
EN

Stack Overflow用户
提问于 2019-05-26 22:05:58
回答 1查看 349关注 0票数 0

当我在Linux终端CLI上做do表时,如下所示。

代码语言:javascript
复制
hive -e "desc hive_db.hive_table"

我得到以下输出

代码语言:javascript
复制
date                string  
entity              string  
key                 int 
id                  string  
direction           string  
indicator           string  
account_number      string  
document_date       string

现在,我想在执行之前将输出重定向到一个文件,我希望删除每个字段之间的空格,并且在它们之间只有一个空格。

预期产出低于

代码语言:javascript
复制
date string 
entity string   
key int 
id string   
direction string    
indicator string    
account_number string   
document_date string

我试过如下所示

代码语言:javascript
复制
hive -e "desc hive_db.hive_table" | tr -s " " > abc.txt

我得到的输出是

代码语言:javascript
复制
date    string  
entity  string  
key     int 
id  string  
direction   string  
indicator   string  
account_number  string  
document_date   string

我得到的输出是一个接近的输出,但是在每一行的每个字段之间都有one space and one tab

我怎样才能实现我想要的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-26 22:10:59

尝试:

代码语言:javascript
复制
hive -e "desc hive_db.hive_table" | sed -E 's/[[:space:]]+/ /' > abc.txt

[[:space:]]+匹配任意类型的空白(制表符、空白或其他包括任何unicode定义的空白)中的一个或多个。s/[[:space:]]+/ /将空白序列替换为单个空白。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56317712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档