网站建设资讯

NEWS

网站建设资讯

包含linux命令某列的和的词条

Linux下用awk获取某一行或某一列的查询结果

背景:可能我们会遇到获取Linux命令执行结果的某一列或某一行的信息。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟主机、营销软件、网站建设、乐至网站维护、网站推广。

awk -F  '\t'  '{print $1}'  name.txt

其中-F表示分割符,本例为\t,$1表示第1列 ,$0表示全部。

ls -lrt  | awk -F ' ' '{print $NF}'

好处:这种情况下不需要知道所获取信息在哪一列,直接取最后一列即可。

其中-F表示分割符,本例为空格,$NF表示最后一列,$(NF-1)表示倒数第二列。

awk 'NR awk 'NR==1,NR==4 {print}'  file

行号等于1和4的打印出来

awk 'END {print}' name.txt

部分参考

linux shell脚本求某一列的数值总和?

下面是代码:

#/bin/sh

touch data2

echo -e "品牌,销量\nhuawei,1000\niphone,1500\nvivo,1600\nLenovo,2000\nSamsung,4000" data2

cat data2

cat data2 | awk -F, '{sum+=$2} END {print "季度总销量为: "sum}'

--------------------

*.data2是用命令建的,内容也是用命令写入的,格式应该也不是太好,你追问吧,看看哪不符合要求

linux命令对某一列去重/统计

cat file.csv | awk -F '\t' '{print $2}'

'\t'指的是file.csv不同列以'\t'分割,如果的是以其他符号分割,换成其她符号;

'{print $2}'是指取第2列,此处从1开始计数,第1列,第2列;

一般去重之前要进行排序

cat file.csv | awk -F '\t' '{print $2}' | sort | uniq

前半部分与命令1一样,后面加上| sort | uniq

比如通过命令2发现,第2列取值有两种,分别是'neg'和‘pos’,那么我想知道有多少行的第2列取值为'pos',多少行的第2列取值为'neg'。

cat file.csv | awk -F '\t' '{print $2}' | grep -o 'neg'| wc -l

前半部分与命令1一样,后面加上 | grep -o 'neg'| wc -l

grep -o 'neg'就是取出取值为'neg'的行

wc -l 是计数有多少行

linux下有没有对一列数字进行求和的命令

额,目测没有这样的程序。

不过可以自己写一个c的实现

#include stdio.h

#include stdlib.h 

int main(int argc, char *argv[])

{

int i, res = 0; 

for (i = 1; i  argc; i++)

res += atoi(argv[i]);

printf("%d", res); 

return 0; 

}

匆忙写的,可能有问题,见谅。

编译后用 ./a.out 1 2 3 4 5...... numberN调用即可。


分享名称:包含linux命令某列的和的词条
本文路径:http://cdweb.net/article/dogcdds.html