首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >lsblk命令,使用shell命令或shell脚本将输出重定向到csv文件

lsblk命令,使用shell命令或shell脚本将输出重定向到csv文件
EN

Stack Overflow用户
提问于 2020-08-20 14:45:55
回答 1查看 152关注 0票数 1

我正在运行下面的命令,它给出了如下输出。

代码语言:javascript
运行
复制
lsblk -o NAME,MOUNTPOINT,SIZE,FSTYPE

NAME              MOUNTPOINT     SIZE FSTYPE
fd0                                4K
sda                               32G
ââsda1            /boot          500M xfs
ââsda2            /             31.5G xfs
sdb                              512G
ââsdb1            /mnt/resource  512G ext4
sdc                              128G LVM2_member
ââvgdata-lvdata   /u01           128G ext4
sdd                                1T LVM2_member
ââvgdata5-lvdata5 /ora01        1024G ext4
sde                               16T LVM2_member
ââvgdata4-lvdata4 /data           16T ext4

但是我想要的输出如下

代码语言:javascript
运行
复制
sdc,ext4,128G,
sdd,ext4,1T,
sde,ext4,16T,

但如果运行该命令,

代码语言:javascript
运行
复制
lsblk -o NAME,MOUNTPOINT,FSTYPE,SIZE | cat -vets  | sed -e "s/.*@//1" | egrep "sdc|sdd|sde" | awk '{ print $1","$2","$3","$4 }' 

它给出了以下输出

代码语言:javascript
运行
复制
sdc,LVM2_member,128G,
sdd,LVM2_member,1T,
sde,LVM2_member,16T,

有人能帮我把这件事做完吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-20 21:57:17

您可以尝试使用GNU awk编写和测试下面的示例吗?

代码语言:javascript
运行
复制
awk '
BEGIN{
  OFS=","
}
!NF{
  next
}
{  gsub(/\r/,"")  }
/sdc|sdd|sde/{
  sub(/_.*/,"",$NF)
  print $1,prev_mount,$(NF-1)
  prev_mount=""
  next
}
{
  prev_mount=$NF
}' Input_file
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63499650

复制
相关文章

相似问题

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