S1s*_*hus 3 bash command-line sed
我正在寻找一种方法来删除多个csv文件中的行,在bash中使用sed,awk或任何适当的文件以0结尾.
所以有多个csv文件,它们的格式是:
EXAMPLEfoo,60,6
EXAMPLEbar,30,10
EXAMPLElong,60,0
EXAMPLEcon,120,6
EXAMPLEdev,60,0
EXAMPLErandom,30,6
Run Code Online (Sandbox Code Playgroud)
因此该文件将被修改为:
EXAMPLEfoo,60,6
EXAMPLEbar,30,10
EXAMPLEcon,120,6
EXAMPLErandom,30,6
Run Code Online (Sandbox Code Playgroud)
我能看到的一个问题是区分以零结尾的双位数和0本身.
那么任何想法?
使用你的文件,这样的?
$ sed '/,0$/d' test.txt
EXAMPLEfoo,60,6
EXAMPLEbar,30,10
EXAMPLEcon,120,6
EXAMPLErandom,30,6
Run Code Online (Sandbox Code Playgroud)
对于这个特殊的问题,sed正如其他人所指出的那样是完美的.但是,awk更灵活,即您可以在任意列上过滤:
awk -F, '$3!=0' test.csv
Run Code Online (Sandbox Code Playgroud)
这将打印整行第3列不为0.
| 归档时间: |
|
| 查看次数: |
3303 次 |
| 最近记录: |