文件1有5个字段ABCDE,字段A是整数值
文件2有3个字段AFG
文件1中的行数远大于文件2中的行数(20 ^ 6到5000)
文件1中A的所有条目都出现在文件2的字段A中
我想通过字段A合并这两个文件并携带F和G.
期望的输出是ABCDEFG
例
档案1
A B C D E
4050 S00001 31228 3286 0
4050 S00012 31227 4251 0
4049 S00001 28342 3021 1
4048 S00001 46578 4210 0
4048 S00113 31221 4250 0
4047 S00122 31225 4249 0
4046 S00344 31322 4000 1
Run Code Online (Sandbox Code Playgroud)
档案2
A F G
4050 12.1 23.6
4049 14.4 47.8
4048 23.2 43.9
4047 45.5 21.6
Run Code Online (Sandbox Code Playgroud)
期望的输出
A B C D E F G
4050 S00001 31228 3286 0 12.1 …Run Code Online (Sandbox Code Playgroud) 我是BASH的新手,我正在尝试使用awk根据文本文件的第4列过滤掉第1列数据.如果第4列数据与x的范围匹配,那么它将输出第1列数据."x"被认为是1-10(1,2,3..10)的数字范围.
awk -F: '{ if($4=="x") print $1}' filename.txt
filename.txt
sample1 0 0 4
sample2 0 0 10
sample3 0 0 15
sample4 0 0 20
Run Code Online (Sandbox Code Playgroud)
实际使用:
awk -F: '{ if($4=="1-10") print $1}' sample.txt
output = sample1, sample2, sample3, sample4
Run Code Online (Sandbox Code Playgroud)
应该是:sample1 sample2只有.
语法中是否有错误,我没有看到,或者我可能使用这种语法完全错误?
如何获取输入CSV文件中每行的第一列并输出到新文件?我在想awk但是不确定如何使用.
我有一个约会,因为12/12/2013 14:32我想将其转换为仅12/12/2013.字符串可以是1/1/2013 12:32或者1/10/2013 23:41我只需要日期部分.
如果我想将参数传递给awk脚本文件,我该怎么做?
#!/usr/bin/awk -f
{print $1}
Run Code Online (Sandbox Code Playgroud)
这里我想打印从shell传递给脚本的第一个参数,如:
bash-prompt> echo "test" | ./myawkscript.awk hello
bash-prompt> hello
Run Code Online (Sandbox Code Playgroud) 在这个答案中,
awk '$2=="no"{$3="N/A"}1' file
Run Code Online (Sandbox Code Playgroud)
被接受了.请注意1AWK脚本的末尾.在评论中,答案的作者说
[1]是显示当前行的神秘方式.
我很困惑.这是如何运作的?
我想做这样的事情:
cat abcd.txt | cut -f 2,1
Run Code Online (Sandbox Code Playgroud)
我希望输出中的顺序为2然后为1.在我正在测试的机器上(FreeBSD 6),这没有发生(它以1,2顺序打印).你能告诉我怎么做吗?
我知道我总是可以编写一个shell脚本来执行此操作,但我正在寻找使用'cut'命令选项的东西.
我想我正在使用包含cut的coreutils的5.2.1版本.
我正在使用正则表达式批量重命名文件
s/123/onetwothree/g
Run Code Online (Sandbox Code Playgroud)
我记得我可以使用awk和sed与正则表达式,但无法弄清楚如何将它们一起管道以获得所需的输出.
我有以下文件:
1 2 3
1 4 5
1 6 7
2 3 5
5 2 1
Run Code Online (Sandbox Code Playgroud)
我希望文件按第二列排序,但从最大数量(在本例中为6)到最小数量.我试过了
sort +1 -2 file.dat
Run Code Online (Sandbox Code Playgroud)
但它给了我颠倒的顺序.
结果应该是:
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
Run Code Online (Sandbox Code Playgroud) 我正在进行某些文本处理操作,最终能够获得这样的文件
india
sudan
japan
france
Run Code Online (Sandbox Code Playgroud)
现在我想在上面的文件中添加注释,就像在最终文件中它应该是类似的
india | COUNTRY
sudan | COUNTRY
japan | COUNTRY
france | COUNTRY
Run Code Online (Sandbox Code Playgroud)
像整个文件中的相同评论.我该怎么做呢?