我正在尝试不同的命令来处理 csv 文件,其中分隔符是管道|字符。
虽然这些命令在逗号是分隔符时确实有效,但当我用管道替换它时会引发错误:
awk -F[|] "NR==FNR{a[$2]=$0;next}$2 in a{ print a[$2] [|] $4 [|] $5 }" OFS=[|] file1.csv file2.csv
awk "{print NR "|" $0}" file1.csv
Run Code Online (Sandbox Code Playgroud)
我试过了,"|",[|],/|无济于事。
我在 Windows 上使用 Gawk。我错过了什么?
我有一个包含以下几行的文件 test.txt
1997 100 500 2010TJ
2010TJXML 16 20 59
Run Code Online (Sandbox Code Playgroud)
我使用下一个 awk 行仅获取有关字符串 2010TJ 的信息
awk -v var="2010TJ" '$0 ~ var {print $0}' test.txt
Run Code Online (Sandbox Code Playgroud)
但代码打印了两行。我想知道如何获取包含确切字符串的行
1997 100 500 2010TJ
Run Code Online (Sandbox Code Playgroud)
该字符串可以放置在文件的任何列中。
[TRIVIAL] [求助]
tl:dr - DOW CRLF觉得好像是胡子行为不端; 琐碎的错误!
我不确定为什么awk/gawk的表现如此.任何提示?有没有看过awk结果覆盖终端上的列?我只在一台机器上看到这个; 在其他地方,东西工作得很好!不确定这是终端行为不端还是其他任何事情.一个stty sane似乎并没有帮助的.有谁见过类似的东西?
$ cat in.txt
2132088 AAA_WEB_50181_552222195-1
2110665 AAA_WEB_50177_547796499-2
2157591 AAA_WEB_50181_551310844-1
2117370 AAA_WEB_50178_549250104-1
2109777 AAA_WEB_50180_551512637-1
2112704 AAA_WEB_50179_410838823-13
2116984 AAA_WEB_50178_549463801-2
2119511 AAA_WEB_50179_550076677-2
2122008 AAA_WEB_50180_551679428-1
2124984 AAA_WEB_50177_548026293-1
$ awk '{print $2 " " $1}' in.txt
213208850181_552222195-1
211066550177_547796499-2
215759150181_551310844-1
211737050178_549250104-1
210977750180_551512637-1
211270450179_410838823-13
211698450178_549463801-2
211951150179_550076677-2
212200850180_551679428-1
212498450177_548026293-1
$ cat /etc/issue.net
Ubuntu 14.04.4 LTS
$ gawk '{print $2 " " $1}' in.txt
213208850181_552222195-1
211066550177_547796499-2
215759150181_551310844-1
211737050178_549250104-1
210977750180_551512637-1
211270450179_410838823-13
211698450178_549463801-2
211951150179_550076677-2
212200850180_551679428-1
212498450177_548026293-1
$ gawk -W …Run Code Online (Sandbox Code Playgroud) 让我给出示例文本文件:
例如在file1.txt中数据是: -
qwer
asdf
zxcv
1234
Run Code Online (Sandbox Code Playgroud)
在file2.txt中数据是: -
0987
5678
uiop
qwer
zxcv
Run Code Online (Sandbox Code Playgroud)
期望的结果:
qwer
zxcv
Run Code Online (Sandbox Code Playgroud)
我如何得到这个结果?我想用python或gawk或sed.