linux 中可以用cut提取某一行的某一列数据吗? 如果可以怎么做?
4个回答
展开全部
用sed的方法是sed -n 'n,np' | awk '{print $X}'
第2个与第3个n表示你要打印第几行,比如要打印5-8行就是sed -n '5,8p' filename
你想打印第3行就是sed -n '3,3p' filename
|管道符就是把sed输出的值输入给awk,$X里的X表示你想输出的第几个字段,awk默认是以空格为分隔符的,要想指定分隔符就是-F 。 比如以 , 作为分隔符就写作awk -F "," '{print $X}'
还有一种方法不用sed也可以锁定某一行 比如我想锁定/etc/passwd的第10行
语句就是head -10 /etc/passwd | tail -1
如果想打印第十行的以‘:’分割的第2个字段,那么执行语句就是
head -10 /etc/passwd | tail -1 |awk -F: '{print $2}'
如果想输出/etc/passwd第二行第1-5个字符
sed -n 2p /etc/passwd |cut -c1-5
第2个与第3个n表示你要打印第几行,比如要打印5-8行就是sed -n '5,8p' filename
你想打印第3行就是sed -n '3,3p' filename
|管道符就是把sed输出的值输入给awk,$X里的X表示你想输出的第几个字段,awk默认是以空格为分隔符的,要想指定分隔符就是-F 。 比如以 , 作为分隔符就写作awk -F "," '{print $X}'
还有一种方法不用sed也可以锁定某一行 比如我想锁定/etc/passwd的第10行
语句就是head -10 /etc/passwd | tail -1
如果想打印第十行的以‘:’分割的第2个字段,那么执行语句就是
head -10 /etc/passwd | tail -1 |awk -F: '{print $2}'
如果想输出/etc/passwd第二行第1-5个字符
sed -n 2p /etc/passwd |cut -c1-5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以 你可以使用sed 然后在结合AWK就好了
追问
能说说具体的过程吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看 man cut
追问
能具体说说吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询