awk - 如何使用 awk 在 txt 文件的第一行末尾添加逗号
问题描述
尝试使用命令,但第一行替换为逗号
awk '{if(NR==1){print $0","}else{print }}' /home/a/b/file1.txt
a
b
c
预期结果
a,
b
c
解决方案
如果您有 CRLF 结尾,则需要将它们转换为 LF 结尾,请参阅How to convert Windows end of line in Unix end of line (CR/LF to LF)。
然后,您的解决方案可能会按原样工作。或者,您可以使用
awk '{ print NR==1 ? $0"," : $0 }' /home/a/b/file1.txt > newfile
在这里,如果它是第一行,则仅在末尾print
带有 a 的整行,否则,您仅打印该行本身。,
如果你愿意,你也可以这样做sed
:
sed '1s/$/,/' /home/a/b/file1.txt > newfile
请参阅在线演示。在这里,sed
将行尾位置替换,
为第一行(因此,基本上添加了逗号)。如果您使用sed '1s/,*$/,/'
,您可以确保结果中第一行的末尾只有一个逗号。
推荐阅读
- python - 如何在火花中读取固定字符长度的格式文件
- javascript - --skip-js-errors 特定测试用例
- java - Spring Boot SpEL 和配置属性绑定到常量表达式
- android - Firestore 复合索引排序不修改顺序
- node.js - 使用 Meteor 从 Mongo 同步读取数据
- c++ - 在继承的模板类中使用下标 [] 运算符
- vba - VBA用换行符替换str
- terraform-template-file - Terraform Template_File 渲染不工作
- reactjs - React:哪个是推荐的箭头或正常功能?
- knockout.js - 淘汰JS选项数据-绑定多个值