我是使用sed
的初学者。我正在尝试使用它来编辑uniq -c
结果以删除数字前的空格,以便我可以将其转换为可用的.tsv
。
我得到的最远的是使用:
$ sed 's|\([0-9].*$\)|\1|' comp-c.csv
输入:
8 Delayed speech and language development
15 Developmental Delay and additional significant developmental and morphological phenotypes referred for genetic testing
4 Developmental delay AND/OR other significant developmental or morphological phenotypes
1 Diaphragmatic eventration
3 Downslanted palpebral fissures
此输出与输入相同;它识别(我用一个简单的替代品测试过它)第一个数字,但也出于某种原因拖累了之前的空白空间。
为了澄清,我想在数字之前删除所有空格;硬编码简单的修剪不起作用,因为有些行包含双/三位数字,因此在数字之前没有相同数量的空白空间。
奖励指出某种方式可以产生可用的uniq -c
结果,而不会在空白处进行操作。
答案 0 :(得分:2)
这就是写正确的正则表达式:
uniq -c
也就是说,用 nothing 替换行(尽可能多)的零个或多个空格。
奖励指出某种方式可以产生可用的
uniq
结果,而不会在空白处进行操作。
{{1}}命令没有标志来打印其输出而没有前导空格。除了自己去除它之外别无他法。