修复k,例如说k = 2以便说明。假设我们有一个文本文件file.txt
,它具有至少k列,并且列由|
符号分隔。如何通过删除第二列等于'NA'的每一行来清洁file.txt
?可以说,输出是针对outfile.txt
。删除第k个字段为“NA”的所有行
3
A
回答
6
awk '$2 != "NA"' FS='|'
输入:
111|222|333
444|NA|666
777|888|999
输出:
111|222|333
777|888|999
2
我没有访问PC,而是沿着线的东西:
gawk -F '|' '$2 != "NA"{ print}' file.txt >outfile.txt
1
grep与反向匹配也可以:
grep -v '^\([^|]\+|\)\{1\}NA|' file.txt > outfile.txt
# ^^
# | +-- search pattern
# +----- number of leading columns
相关问题
- 1. 如何从Vector中删除所有NA?
- 2. 如何删除条件为NA的行
- 3. 这个SQL似乎删除所有行的字段大于0
- 4. 删除第k个自然数中的第(k + 1)个剩余元素
- 5. 如何从矩阵中删除所有包含NA的行?
- 6. 为一个ID删除所有行R
- 7. 在列中删除NA值为NA的行
- 8. R数据:使用NA删除行并没有删除行
- 9. 删除所有的字符第一个字符后
- 10. 删除第5个字符后的所有字符?
- 11. 有效删除NA值
- 12. 删除每个段落中除第一个单词外的所有内容
- 13. jQuery删除除第一行之外的所有表行
- 14. powershell删除行的第一个字符
- 15. 删除每行的第一个字
- 16. 如何从字符串中删除除第一行以外的所有行
- 17. 如何删除第三个冒号后的所有字符?
- 18. 删除第一个字后的所有内容JS
- 19. 如何删除第一个冒号后的所有字符
- 20. 删除所有子片段
- 21. 删除行中的所有字符
- 22. 删除ArrayList中第一个元素的所有发行版
- 23. Osx:删除多个文件的所有第一行
- 24. 删除所有* c文件中的第一个多行注释
- 25. 删除所有行
- 26. 删除第一个/包括第一个/每行后的所有内容
- 27. R为0中的所有列替换NA除了一个
- 28. 删除所有行除了
- 29. R-将第一个NA之后的数据帧行中的所有值替换为NA
- 30. R:如果一个值为NA,则将所有行值设为NA
将'k'作为变量传递:'awk'$ k!=“NA”'FS ='|' k = 2 file.txt'或'awk -F'|' -v k = 2'$ k!=“NA”'file.txt' –