bash - 使用 bash 在 CSV 中随机更新列值
问题描述
我需要用一些增量值更新 CSV 中的列。例如:
Name, Surname, Reference
Joe, Joey, aaa
Jane, Doe, aab
需要转换为:
Name, Surname, Reference
Joe, Joey, ABC13842783
Jane, Doe, ABC24862121
现在如何将 printf 的值保存在第三列并将其保存回文件
awk 'BEGIN {
FS=","
}
{
printf("ABC~%08d\n", rand()*10000000)
}
' Users.csv
你能帮忙吗?
解决方案
awk -v prefix="ABC" 'BEGIN{FS=OFS=", "} NR>1{$3=prefix NR-1} {print}' file
随着您的更新:
awk 'BEGIN{FS=OFS=", "} NR>1{$3=sprintf("ABC%08d", rand()*10000000)} {print}' file
输出:
姓名,姓氏,参考 乔,乔伊,ABC09240458 简,能源部,ABC05939086
推荐阅读
- c# - 我错误地删除了一些 NuGet 文件,因此我的 Visual Studio Code 现在已损坏
- git - 推送之前的 Git 拉动是必须的吗?
- mongodb - Strapi - 如何获取基于关系属性排序的数据?
- javascript - 如何在仍然执行项目的其余部分的同时进行循环
- flutter - Flutter - 使用 curl/curl.dart 包创建一个 cURL 请求
- python-3.x - 如果值为 NaN 或其他任何值,Pandas 过滤 DF 列
- c# - C# Google 存储客户端 - 上传文件 - 如果已存在则失败
- ios - URLSession 使用内部回调在回退时重试连接
- mysql - MySQL 将数据附加到 JSON 数组中的每个 JSON 对象
- javafx - Java FX 使用 fxml 文件创建自定义对话框。如何设置或从中获取结果?