我在 Unix (solaris) 系统中有一个文件,其中包含如下数据
[TYPEA]:/home/typeb/file1.dat
[TYPEB]:/home/typeb/file2.dat
[TYPEB]:/home/typeb/file3.dat
[TYPE_C]:/home/type_d/file4.dat
[TYPE_C]:/home/type_d/file5.dat
[TYPE_C]:/home/type_d/file6.dat
我想像下面这样分隔标题
[TYPEA]
/home/typeb/file1.dat
[TYPEB]
/home/typeb/file2.dat
/home/typeb/file3.dat
[TYPE_C]
/home/type_d/file4.dat
/home/type_d/file5.dat
/home/type_d/file6.dat
具有相似类型的文件必须属于一种类型。 请用任何逻辑帮助我实现这一点,而无需硬编码。
最佳答案
假设输入像您的示例一样按类型排序,
awk -F : '$1 != prev { print $1 } { print $2; prev=$1 }' file
如果有超过 2 个字段,您将需要调整第二个子句。
关于linux - 如何拆分unix文件中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28185531/