小编igb*_*s09的帖子

使用 Sed、Awk 等将第一列中每一行的数据复制到最后一列中的 html 超链接中

我想做的是复制第一列中每一行的第一个数据并将其放入创建的最后一列中的超链接中

这是我每天收到的文件的示例。我们将此文件称为input.csv,我想将其转换为output.csv

PS 行数每天都不同。

输入.CSV

number|name|age|gender
B24|mike|22|male
B65|john|45|male
B74|jane|29|female
Run Code Online (Sandbox Code Playgroud)

这就是我想要的样子:

输出.CSV

number|name|age|gender|website
B24|mike|22|male|<a href=https://www.abcdef.com/query=B24>B24</a>
B65|john|45|male|<a href=https://www.abcdef.com/query=B65>B65</a>
B74|jane|29|female|<a href=https://www.abcdef.com/query=B74>B74</a>
Run Code Online (Sandbox Code Playgroud)

为了使它更整洁,我放置了一些变量

测试文件

#!/bin/bash

NUMBER=(data from the "number" column of each corresponding row in the input.csv file)
URL=https://www.abcdef.com/search?query=$NUMBER

awk -F"|" 'BEGIN { OFS = "|" } {$5="<a href='$URL'>'$NUMBER'</a>"; print}' input.csv > output.csv
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经能够做到这一点,只需创建一个新列并在整个列中重复超链接,失败输出的结果如下:

结果失败

number|name|age|gender|<a href=https://www.abcdef.com/search?query=></a>
B65|john|45|male|<a href=https://www.abcdef.com/query=B65>B65</a>
B74|jane|29|female|<a href=https://www.abcdef.com/query=B74>B74</a>
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

csv awk sed

2
推荐指数
1
解决办法
140
查看次数

使用 Bash 脚本和 Awk 将动态 TSV/CSV 文件拆分为 3 个单独的文件

我有一个动态 csv/tsv 文件(制表符分隔符),其中每小时在借记计数分数计数下方添加一个新行。Receipt Count下不会添加新行,只有值每小时发生变化。请看下面两个例子以供参考。

第 3 小时的 FileA.csv 示例

Debit Count     VALUE
hour 1          5
hour 2          81
hour 3          15
Score Count
hour 1          31
hour 2          66
hour 3          9
Receipt Count
age logs        23
bus logs        21
pig logs        7
dog logs        40
Run Code Online (Sandbox Code Playgroud)

第 7 小时的 FileA.csv 示例

Debit Count     VALUE
hour 1          5
hour 2          81
hour 3          15
hour 4          20
hour 5          52
hour …
Run Code Online (Sandbox Code Playgroud)

csv bash awk

2
推荐指数
1
解决办法
122
查看次数

在 Bash/Shell 中使用 jq 和 awk 将多列四舍五入到小数点后两位

请帮助我在此 .csv 输出中四舍五入多列。到目前为止,我已经能够将 jq 输出通过管道传输到 awk 中并仅对单个列进行四舍五入,但不知道如何对这 6 列进行四舍五入。

这是 demo.json 有效负载

{
  "XXXX": "XXX",
  "XXXXX": "XXXXXXX",
  "stack": {
    "123": {
      "overflow": 6014.4703
    },
    "234": {
      "overflow": 6090.3888
    },
    "356": {
      "overflow": 8973.8136
    },
    "244": {
      "overflow": 5034.4258
    },
    "789": {
      "overflow": 5957.6018
    },
    "545": {
      "overflow": 1225.7363
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

下面是我迄今为止用于单列综述的代码行

cat demo.json | jq -r --argjson H "$(date +%H -d "1 hour ago")" '["Hours", "A", "B", "C", "D", "E", "F"], ([.stack."123".overflow/1000, .stack."234".overflow/1000, .stack."356".overflow/1000, .stack."244".overflow/1000, .stack."789".overflow/1000, .stack."545".overflow/1000] | [$H] …
Run Code Online (Sandbox Code Playgroud)

bash awk json jq

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

标签 统计

awk ×3

bash ×2

csv ×2

jq ×1

json ×1

sed ×1