该文件data.txt包含以下内容:
1.00 1.23 54.4 213.2 3.4
Run Code Online (Sandbox Code Playgroud)
脚本的输出应该是:
ave: 54.646
Run Code Online (Sandbox Code Playgroud)
一些简单的脚本是首选.
这应该是非常直接的,我不知道为什么我在努力.
我在shell脚本中运行以下psql命令,以便在插入数据之前查明是否已删除所有索引.
INDEXCOUNT=$(psql -p $dbPort -U enterprisedb -d main_db -c "select Count(*) from all_indexes where index_schema = 'enterprisedb';")
Run Code Online (Sandbox Code Playgroud)
此时,INDEXCOUNT等于"COUNT ------- 0"
现在,如果我回应以下行,我得到我想要的结果 -
echo $INDEXCOUNT | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)
如何$INDEXCOUNT | awk ‘{print $3}’为变量赋值以在"IF"语句中进行检查?
例如:
RETURNCOUNT=$INDEXCOUNT | awk '{print $3}'
Run Code Online (Sandbox Code Playgroud) 对不起,如果这太基础了.我有一个csv文件,其中列有一个标题行(v1,v2等).我知道要提取第1列和第2列,我必须这样做:awk -F "," '{print $1 "," $2}' infile.csv > outfile.csv.但是,如果我必须提取1到10,20到25和30,33列呢?作为附录,有没有办法直接提取标题名称而不是列号?
我试图删除文件的前两行,只是不打印到另一个文件.我不是在寻找一些奇特的东西.这是我在awk的尝试(失败):
awk '{ (NR > 2) {print} }' myfile
Run Code Online (Sandbox Code Playgroud)
抛出以下错误:
awk: { NR > 2 {print} }
awk: ^ syntax error
Run Code Online (Sandbox Code Playgroud)
例:
'myfile'的内容:
blah
blahsdfsj
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
我想要的结果是:
1
2
3
4
Run Code Online (Sandbox Code Playgroud) 有这个文本文件:
name, age
joe,42
jim,20
bob,15
mike,24
mike,15
mike,54
bob,21
Run Code Online (Sandbox Code Playgroud)
试图得到这个(数):
joe 1
jim 1
bob 2
mike 3
Run Code Online (Sandbox Code Playgroud)
谢谢,
操作系统:OSX方法:从命令行开始,所以使用sed,cut,gawk,虽然最好没有安装模块.
本质上我试图获取csv文件的第一列并将其解析为一个新文件.
示例输入文件
EXAMPLEfoo,60,6
EXAMPLEbar,30,6
EXAMPLE1,60,3
EXAMPLE2,120,6
EXAMPLE3,60,6
EXAMPLE4,30,6
Run Code Online (Sandbox Code Playgroud)
欲望输出
EXAMPLEfoo
EXAMPLEbar
EXAMPLE1
EXAMPLE2
EXAMPLE3
EXAMPLE4
Run Code Online (Sandbox Code Playgroud)
所以我想要第一列.
这是我到目前为止所尝试的:
awk -F"," '{print $1}' in.csv > out.txt
awk -F"," '{for (i=2;i<=NF;i++)}' in.csv > out.txt
awk -F"," 'BEGIN { OFS="," }' '{print $1}' in.csv > out.txt
cat in.csv | cut -d \, -f 1 > out.txt
Run Code Online (Sandbox Code Playgroud)
似乎没有工作,他们只是打印第一行或根本没有,所以我认为它没有逐行阅读.
如果这是一个简单的问题(或者比我想的更复杂),我不会这样做是为了生活,请原谅我.我一直在挖掘档案,发现很多技巧很接近,但是作为一个新手,我不知道如何调整我的需求,或者他们超出了我的理解.
我有一些大数据文件,我可以解析出来生成一个主要是顺序的坐标列表
5
6
7
8
15
16
17
25
26
27
Run Code Online (Sandbox Code Playgroud)
我想要的是一份差距清单
1-4
9-14
18-24
Run Code Online (Sandbox Code Playgroud)
我不知道perl,SQL或任何花哨的东西,但我想我可以做一些能从下一个中减去一个数字的东西.然后,我至少可以grep得到差异不是1或-1的输出,并与之合作以获得差距.
我有以下文本文件:
[master]$ cat output.txt
CHAR.L 96.88 -6.75 (-6.49%)
MXP.L 12.62 -1.00 (-7.41%)
NEW.L 7.88 -0.75 (-8.57%)
AGQ.L 17.75 -0.62 (-3.40%)
RMP.L 13.12 -0.38 (-2.75%)
RRR.L 3.35 -0.20 (-5.71%)
RRL.L 7.95 -0.15 (-1.85%)
SOU.L 1.73 -0.10 (-5.22%)
YELL.L 5.47 -0.04 (-0.73%)
AMC.L 9.75 -0.01 (-0.05%)
PLU:USOP 95.40 0.00 (+0%)
BP-.L 452.10 0.95 (+0.21%)
SXX.L 29.00 1.50 (+5.41%)
LLOY.L 26.78 1.64 (+6.52%)
DES.L 23.62 2.25 (+10.34%)
GKP.L 171.62 4.50 (+2.69%)
XEL.L 83.75 5.00 (+6.33%)
BARC.L 190.57 9.80 (+5.43%)
RKH.L 251.62 12.00 (+5.02%) …Run Code Online (Sandbox Code Playgroud) 我有一个包含这样的数据的大文件:
a 23
b 8
a 22
b 1
Run Code Online (Sandbox Code Playgroud)
我希望能够得到这个:
a 45
b 9
Run Code Online (Sandbox Code Playgroud)
我可以先对这个文件进行排序,然后通过扫描文件一次在Python中进行.这样做有什么好的直接命令行方式?
嗨,我有一个文件包含网址列表,如下所示:
文件1:
http://www.google.com
http://www.bing.com
http://www.yahoo.com
http://www.baidu.com
http://www.yandex.com
....
Run Code Online (Sandbox Code Playgroud)
我希望获得以下所有记录:http://www.yahoo.com,结果如下所示:
文件2:
http://www.baidu.com
http://www.yandex.com
....
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用grep来查找yahoo.com所使用的行号
$grep -n 'http://www.yahoo.com' file1
3 http://www.yahoo.com
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何在第3行之后获取文件.另外,我知道grep中有一个标志 - 在匹配后打印行.但是,您需要在匹配后指定所需的行数.我想知道是否有什么可以解决这个问题.喜欢:
PSEUDO CODE:
$ grep -n 'http://www.yahoo.com' -A all file1 > file2
Run Code Online (Sandbox Code Playgroud)
我知道我们可以使用我得到的行号和wc -l来获取yahoo.com之后的行数,但是感觉非常蹩脚.
期待一个方便易用的解决方案.请尽量批评我在开始时将问题复杂化,同时也欢迎使用awk和sed命令!