bash - 需要在列前添加一个字符串并用它添加另一列
问题描述
我有一个有 2 行的文件
123|456|789
abc|123|891
我需要一个输出如下。基本上,我想将字符串“xyz”添加到 col 1 并将“xyz”添加为新的 col 2
xyz-123|xyz|456|789
xyz-abc|xyz|123|891
这是我用的
awk 'BEGIN{FS=OFS="fs-"$1}{print value OFS $0}' /tmp/b.log
我明白了
xyz-123|456|789
xyz-abc|123|891
我试过了
awk 'BEGIN{FS=OFS="fs-"$1}{print value OFS $0}' /tmp/b.log|awk -F" " '{$2="fs" $0;}1' OFS=" "
解决方案
除了 awk 的更新字段 ($1, $2...) 方法之外,我们还可以使用替换来完成这项工作:
sed 's/^[^|]*/xyz-&|xyz/' file
如果 awk 是必须的:
awk '1+sub(/^[^|]*/, "xyz-&|xyz")' file
两个单线都给出了预期的输出。
推荐阅读
- android-studio - 在 Java (Android Studio) 中从 Activity 转换为 Fragment 时,Bottom_nav_menu 消失
- apache-nifi - 如何使 jsonpath 为名称-值对工作
- mongodb - 未处理的拒绝 Mongo 错误:在运行 mocha 测试时获取 addrinfo ENOTFOUND
- pandas - 我想知道使用熊猫的唯一类别编号
- node.js - 我可以使用 Express 创建客户端应用程序吗?
- c# - 如何使用 mysql 启用实体框架?
- ember.js - Ember Octane Glimmer 组件 @actions 是如何调用的?
- sql - 在一个查询中组合多个 SELECT 语句
- r - 如何通过在 R 中的大型数据框中进行观察来获得前 n 个距离?
- wordpress - Microsoft-IIS/7.5 服务器上的 Wordpress:只有主页有效