Regex 从文件中提取特定序列
我有一个文件,它有一个不相等间距的空格分隔符Regex 从文件中提取特定序列,regex,shell,Regex,Shell,我有一个文件,它有一个不相等间距的空格分隔符 john 0101 C1 Comp mayo 0120 D2 Comp peter 0110 E1 IT 我想从文件中提取单独字段中的所有值。 我试着用cut-like cut -f1,2,3 -d " " line1 但只有名字被正确提取,而不是保留下来。我想问题是空间不相等。请给我建议任何解决办法。 如果这是一个非常简单的问题,请道歉。这是因为cut不能很好地处理多个分隔符 您可以改用awk: awk '{pr
john 0101 C1 Comp
mayo 0120 D2 Comp
peter 0110 E1 IT
我想从文件中提取单独字段中的所有值。
我试着用cut-like
cut -f1,2,3 -d " " line1
但只有名字被正确提取,而不是保留下来。我想问题是空间不相等。请给我建议任何解决办法。
如果这是一个非常简单的问题,请道歉。这是因为cut不能很好地处理多个分隔符
您可以改用awk:
awk '{print $1, $2, $3}' file
或者,您可以使用tr-s“”压缩多个空格:
tr -s ' ' < file | cut -f1,2,3 -d " "
现在有tr指挥部可以把你从这种情况中解救出来 将单个字符的多次出现转换为1
echo $line | tr -s " " | cut -f1,2,3 -d " "
我可以帮你。
即使是Awk也有帮助
awk“{print$1,$2,$3}”剩余字段也为什么在10分钟后发布重复答案?是的,我也看到了,但后来当我点击帖子时,我并没有刻意这么做。我很少使用向下投票。这绝对不是向下投票的情况:如果它对你有效,请不要忘记点击我答案左上角的勾号,将答案标记为已接受。