linux 命令行: cut (带空字段)
我有一个文件(input.txt),其中的数据列由空格分隔。我想获取第 9 列及以后的数据。
通常我会这样做:
cut -d " " -f 9- input.txt
但是,在这个文件中,有时字段由多个空格分隔(并且每行/列的空格数量各不相同)。 cut 似乎没有将连续空格视为一个分隔符。
我该怎么办?
I have a file (input.txt) with columns of data separated by spaces. I want to get the 9th column of data and onwards.
Normally I would do:
cut -d " " -f 9- input.txt
However, in this file, sometimes the fields are separated by multiple spaces (and the number of spaces varies for each row / column). cut doesn't seem to treat consecutive spaces as one delimiter.
What should I do instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
sed
将n
个空格替换为单个空格:只需确保列之间没有任何制表符即可。
You could use
sed
to replacen
whitespaces with a single whitespace:Just be sure there aren't any tabs between your columns.