社区
系统维护与使用区
帖子详情
cut能换域的顺序吗
gjwestlife
2008-09-26 11:23:53
eg: cut -f1,2 -d, file1
此命令先输出第一个域,然后再输出第二个域,如果我想先输出第二个,然后再第一个应该怎么做呢,谢谢
...全文
235
9
打赏
收藏
cut能换域的顺序吗
eg: cut -f1,2 -d, file1 此命令先输出第一个域,然后再输出第二个域,如果我想先输出第二个,然后再第一个应该怎么做呢,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xwmeric123
2008-09-28
打赏
举报
回复
[Quote=引用 8 楼 gjwestlife 的回复:]
我在学校机器上测试,说uniq没有 -w选项。。。。。。。。学校系统是bash的shell
在弱问一下,如果第一个域的字符不是一样多,比如 aaa
abcd
ca
这样还能用 uniq -w3 吗
如果不行还有别的方法吗
[/Quote]
能用的。
cut没办法交换两列,如果uniq没有-w选项的话就没办法比较第一个域了(前提是有多个域)。
gjwestlife
2008-09-27
打赏
举报
回复
谢谢楼上的方法,但是题目要求只能用head,tail,cut, sort, uniq, tr, wc这些命令,能不能再帮我看看哦
题目是
aaa,12
bbb,13
aew,9
aaa,15
ccc,18
ddd,10
eee,5
要求选出第二个域前4个最大的,打印出对应的第一个域来,只能用head,tail,cut, sort, uniq, tr, wc这些命令,也就是答案应该是:
ccc
aaa
bbb
ddd
如果写 sort -t, -k2 -nr file1 | cut -d, -f1 | uniq | head -n 4 这样的答案是
ccc
aaa
bbb
aaa
这样是不对的,因为不能重复出现,也就是只能选最大的aaa
所以我想的是如果能换列,然后排序成
18,ccc
15,aaa
12,aaa
13,bbb
10,ddd
再用 uniq -f1 就可以得到正确答案了,不知我的想法是否可行,或者有没有别的方法,我已经想了很久,望高人指点
gjwestlife
2008-09-27
打赏
举报
回复
顶一下,好心人帮帮忙吧
gjwestlife
2008-09-27
打赏
举报
回复
我在学校机器上测试,说uniq没有 -w选项。。。。。。。。学校系统是bash的shell
在弱问一下,如果第一个域的字符不是一样多,比如 aaa
abcd
ca
这样还能用 uniq -w3 吗
如果不行还有别的方法吗
xwmeric123
2008-09-27
打赏
举报
回复
sort -t, -k1,1 -k2,2nr file | uniq -w3 | sort -t, -k2,2nr | cut -d, -f1 | head -n 4
xwmeric123
2008-09-27
打赏
举报
回复
sort -t, -k1 -r file | uniq -w 3 | sort -t, -k2 -nr | cut -d, -f1 | head -n 4
joyself
2008-09-26
打赏
举报
回复
看错了 你的分隔符是 ,
awk -F, '{ print $2"\t" $1}' file
joyself
2008-09-26
打赏
举报
回复
楼上说的对,cut不行。
awk -F: '{ print $2"\t" $1}' file
还可以在{}里用printf,看你的需求
xwmeric123
2008-09-26
打赏
举报
回复
用awk吧
linux的sed和
cut
,
cut
/sed常用积累
cut
主要用法:第一,字节(bytes),用选项-b第二,字符(characters),用选项-c第三,域(fields),用选项-f一:who|
cut
-b 3-5,11 (-b后面的无论怎么写,都会按数字
顺序
排列截取展示)who|
cut
-b -2who|
cut
-b 2-
cut
-c的用法和
cut
-b用法基本相似,只是一个字符和字节的区别依据间隔符来进行截取:
cut
-d : -f -...
Linux字符截取命令-
cut
概述
cut
是一个选取命令,。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。语法
cut
[-bn] [file] 或
cut
[-c] [file] 或
cut
[-df] [file]
cut
命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,
cut
命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
cut
cut
最后几位 shell_详解Shell
cut
用法
详解Shell
cut
用法
cut
是以每一行为一个处理对象的,这种机制和sed一样。
cut
接受三个定位方法:1)byte: -b2)characters: -c3)fields: -deg:提取第3,4,5,9的字节:
cut
-b 3-5,9注意:
cut
命令如果使用-b选项,执行时会先把-b后面所有的定位进行从小到大排序,然后再提取,不能颠倒
顺序
。-3 表示从第一字节到第三字节;3- 表示从第三字...
shell中
cut
-b_Shell--
cut
用法
cut
是以每一行为一个处理对象的,这种机制和sed一样。
cut
接受三个定位方法:1)byte: -b2)characters: -c3)fields: -deg:提取第3,4,5,9的字节:
cut
-b 3-5,9注意:
cut
命令如果使用-b选项,执行时会先把-b后面所有的定位进行从小到大排序,然后再提取,不能颠倒
顺序
。-3 表示从第一字节到第三字节;3- 表示从第三字节到结尾。对于中文提取,-...
cut
命令详解
cut
是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。 (1)其语法格式为:
cut
[-bn] [file] 或
cut
[-c] [file] 或
cut
[-df] [file] 使用说明
cut
命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。 如果不指定 File 参数,
cut
命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。 主要参数 -b :以字节为单位进行分割。这些字节
系统维护与使用区
19,620
社区成员
74,588
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章