Sed创建重复

时间:2016-03-05 20:33:30

标签: bash shell sed

我在shell中使用sed命令除了字符串中的数字以外的所有内容。

现在,我的字符串在运行

之后包含其他数字中的三个0
uint128_t

而不是三个0,我现在有0 01和02。

如何防止sed这样做,以便我可以拥有三个0?

字符串示例:

sed 's/[^0-9]*//g'

2 个答案:

答案 0 :(得分:3)

现在我们知道du实用程序输出中的文件名中的数字导致问题(帽子的尖端为Lars Fischer),只需使用cut仅提取第一列(其中包含感兴趣的数据,每个文件&s; / subdir。的大小以块为单位):

 du -a "$var" | cut -f1

du输出制表符分隔的数据,标签也是cut的默认分隔符,因此只需要询问第一个字段(-f1 )。

事后看来,您的问题与sed无关;您的样本数据根本不能代表您的实际数据。在提问时,总是值得创建一个MCVE (Minimal, Complete, and Verifiable Example)

答案 1 :(得分:0)

试试这个:

du -a "$var" | sed -e 's/ .*//' -e 's/[^0-9]*//g'