小编Car*_* H.的帖子

使用命令行,将列中的所有条目乘以固定数字,但前提是该行不是注释

我在尝试着:

  1. 始终添加0 0 0到文件的第一行。
  2. 2*pi6.2832乘以三列文件的第一列,其格式类似于下面,但前提是该行以数字开头。第二列和第三列保持原样。
  3. *如果行不以数字开头,则在行首附加a(除非它已经是 ) *。即只是注释掉当前行,除非它已经被注释掉了。

这是一个示例输入文件:

* radius, section, index
1.12 A 0
2.0 A 1
   * There is white space before this comment
* This is a comment indicating a new section
5 B 0
3.17 B 1
7.3 B 7
This row starts with an alphabet char and should be commented out by the script.
0 C 1
1 C 2
Run Code Online (Sandbox Code Playgroud)

这是预期的输出:

0 0 0
* radius, …
Run Code Online (Sandbox Code Playgroud)

command-line text-processing

4
推荐指数
2
解决办法
355
查看次数

通过命令行处理 CSV 文件:如果连续条目具有相同的第二列值,则仅删除连续行条目之间的中间行

我有一个只有 2 列(但有很多行)的 CSV 文件,偶尔会有不规则行,这些行始终以星号 (*) 字符开头,并且可能跨越两列以上。仅使用 Linux 命令行,预期行为是:

  1. 如果 3 个或更多连续数据行的第二列值相同,则删除中间行。保留起始行和结束行。
  2. 保留以星号开头的不规则行

例如,如果我有一个包含以下内容的 CSV:

    0,Apple
    1,Apple
    2,Apple
    * Checkpoint
    * Another checkpoint
    3,Apple
    4,Apple
    5,Box
    6,Box
    7,Citrus
    8,Box
    9,Apple
    10,Apple
    11,Apple
    12,Dove
    13,Citrus
    * Sudden checkpoint, * Leftover checkpoint note 1, * Leftover checkpoint note N
    14,Citrus
    15,Citrus
    16,Citrus
    17,Apple
    18,Citrus
Run Code Online (Sandbox Code Playgroud)

之后应该如下所示:

    0,Apple
    * Checkpoint
    * Another checkpoint
    4,Apple
    5,Box
    6,Box
    7,Citrus
    8,Box
    9,Apple
    11,Apple
    12,Dove
    13,Citrus
    * Sudden checkpoint, * Leftover checkpoint note 1, * Leftover …
Run Code Online (Sandbox Code Playgroud)

command-line text-processing csv

0
推荐指数
1
解决办法
260
查看次数

标签 统计

command-line ×2

text-processing ×2

csv ×1