linux 中可以用cut提取某一行的某一列数据吗? 如果可以怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 中可以用cut提取某一行的某一列数据吗? 如果可以怎么做?相关的知识,希望对你有一定的参考价值。

可以。
cut -d" " -f2 filename
意思就是我以空格为列的分隔符,提取第二列

或者使用awk
awk 'print $2' filename
awk默认以空格为分隔符,打印第二列追问

这样出来的结果不止一行,我的意思是有没有办法,使结果只出现我指定哪行的指定那一列,就只有一行

追答

可以,不过这需要你总结筛选出规律。
比如是固定的行数,或者是与之相匹配的字串。

参考技术A 用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
参考技术B 可以 你可以使用sed 然后在结合AWK就好了追问

能说说具体的过程吗?

参考技术C 看看 man cut追问

能具体说说吗?

如何获取DATATABLE中的某一列某一行的值

参考技术A //获取选中行短信内容
mes=$(".check_row:checked").parent().parent().children("td:eq(3)").text();//
选中多选框
3是从0开始数的,也就是第四列
$("#message").val(mes);//将内容赋值给id为message的文本框中
$('#eshow').lightbox_me(
//打开模态框
centered:
true,
onLoad:
function()


)

以上是关于linux 中可以用cut提取某一行的某一列数据吗? 如果可以怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

如何取矩阵的某一行,或某一列

怎么用C/C++语言读取excel文件的某一行某一列

linux脚本怎么读取文本的某一列进行操作

MATLAB如何提取某一矩阵中某一列的部分数据?

Linux:使用awk命令获取文本的某一行,某一列

vba中怎么选取二维数组中的某一行或某一列?