社区
系统维护与使用区
帖子详情
cut能换域的顺序吗
gjwestlife
2008-09-26 11:23:53
eg: cut -f1,2 -d, file1
此命令先输出第一个域,然后再输出第二个域,如果我想先输出第二个,然后再第一个应该怎么做呢,谢谢
...全文
218
9
打赏
收藏
cut能换域的顺序吗
eg: cut -f1,2 -d, file1 此命令先输出第一个域,然后再输出第二个域,如果我想先输出第二个,然后再第一个应该怎么做呢,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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 shell 编程教程
第6章 命令执行
顺序
46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 ...
shell 编程指南pdf
第6章 命令执行
顺序
46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 ...
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
-...
Linux字符截取命令-
cut
语法
cut
[-bn] [file] 或
cut
[-c] [file] 或
cut
[-df] [file]
cut
命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,
cut
命令将读取标准输入。必须指定 -b、-c...
cut
最后几位 shell_详解Shell
cut
用法
1)byte: -b2)characters: -c3)fields: -deg:提取第3,4,5,9的字节:
cut
-b 3-5,9注意:
cut
命令如果使用-b选项,执行时会先把-b后面所有的定位进行从小到大排序,然后再提取,不能颠倒
顺序
。-3 表示从第一字节到...
系统维护与使用区
19,612
社区成员
74,603
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章