LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1060|回复: 6

如何用sed/awk输出第i个字段之后的内容?

[复制链接]
发表于 2005-10-3 15:14:20 | 显示全部楼层 |阅读模式
比如
$cat file
1 2 3 4 5
1 2 3 4 5 6 7

要求输出为
3 4 5
3 4 5 6 7

谢谢!
发表于 2005-10-3 17:48:18 | 显示全部楼层
sed和awk的不知道

i=2
for line in `cat file`; do echo ${line#`expr substr $line 1 $i`}; done
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-4 11:30:56 | 显示全部楼层
thx
我的做法
如果前i字段长度定值,比如44可以
awk '{print substr($0, 44)}' file

但不定的情况,就不知道了
回复 支持 反对

使用道具 举报

发表于 2005-10-4 16:32:22 | 显示全部楼层

  1. cut -f3- -d' '<urfile
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-10-4 16:41:11 | 显示全部楼层
楼主的文件中每个字符之间到底有没有空格?
回复 支持 反对

使用道具 举报

发表于 2005-10-5 02:44:09 | 显示全部楼层

  1. s/^[^ ]* [^ ]* \(.*\)$/\1/g
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-10-5 22:42:11 | 显示全部楼层
严重兜了圈子。  

如果没有空格的话
cat file
12345
1234567

i=2
cut -c$[i+1]- file
345
34567
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表