使用Bash在Linux中解析文件

时间:2014-11-10 23:16:54

标签: linux bash parsing scripting

我正在尝试编写一个静态加密工具,一部分需要我手动去获取挂载点名称。

我想编写一些东西来为我获取这些挂载点名称。

EX:挂载点位置和条目如下所示" 123412312312nkj12j3j12nj3n21nj311"我认为是磁盘序列号(如果有办法检查这个请告诉我)

cat /etc/fstab

/dev/mapper/123412312312nkj12j3j12nj3n21nj311 /ext4 defaults 1 2
/dev/mapper/123412312312nkj12j3j12nj3n21nj312 /ext4 defaults 1 2
/dev/mapper/123412312312nkj12j3j12nj3n21nj313 /ext4 defaults 1 2
/dev/mapper/123412312312nkj12j3j12nj3n21nj314 /ext4 defaults 1 2
/dev/mapper/123412312312nkj12j3j12nj3n21nj315 /ext4 defaults 1 2
/dev/mapper/123412312312nkj12j3j12nj3n21nj316 /ext4 defaults 1 2
/dev/mapper/123412312312nkj12j3j12nj3n21nj317 /ext4 defaults 1 2

解析之后,我希望文件的输出看起来像这样,这样我就可以拿出文件并在我的脚本中使用它。

123412312312nkj12j3j12nj3n21nj311,
123412312312nkj12j3j12nj3n21nj312,
123412312312nkj12j3j12nj3n21nj313,
123412312312nkj12j3j12nj3n21nj314,
123412312312nkj12j3j12nj3n21nj315,
123412312312nkj12j3j12nj3n21nj316,
123412312312nkj12j3j12nj3n21nj317

1 个答案:

答案 0 :(得分:1)

我认为您应该使用cut命令执行此任务,它可以通过使用空格和/等分隔符轻松提取。我将为您提供一个工作示例,如下所示;

cut -d ' ' -f 1 /etc/fstab|cut -d'/' -f 4

这有两个部分,一个将提取/dev/mapper/123412312312nkj12j3j12nj3n21nj311,最后一个将提取123412312312nkj12j3j12nj3n21nj311

通过这种方式,您可以从/etc/fstab文件中获得所需内容。