2
我有这样的表:拆分根据具体的修改列一个表文件
classA, s1, ss1
classA, s1, ss2
classA, s2, ss1
classB, s1, ss1
classB, s1, ss2
classC, s1, ss1
classC, s2, ss1
classC, s2, ss2
,我想在3个文件名为“CLASSA”,“CLASSB”分裂,和“classC” ,根据第一列中的连续值。我首先试着找到一种使用csplit的方法,但它似乎只适用于指定的模式,而不是模式更改时。有没有awk的方法或任何其他命令行工具来做到这一点?
[更新] 我也有我的第一列一些斜线导致的错误,例如:
classA, s1, ss1
classA, s1, ss2
classA, s2, ss1
classB, s1, ss1
classB, s1, ss2
classC, s1, ss1
classC, s2, ss1
classC, s2, ss2
classA/classA.1/classA.2, s1, ss1
classA/classA.1/classA.2, s1, ss2
当我运行命令:
awk -F, '{ print $0 > $1}' infile
它与直到“classC”,但然后我有这个错误,因为我想它解释为“/”作为路径:
fatal: can't redirect to `classA/classA.1/classA.2' (No such file or directory)
该脚本只创建一个名为“$ 1”的文件,它是我的infile的副本。 – LostInTranslation
好的,删除双$ 1引号可以更好地工作。 – LostInTranslation
我在第一列有一些'/'的值,这在写入相应的文件时很麻烦。有没有办法解决这个子问题? – LostInTranslation