linux - 替换两个选项卡之间的文本 - sed

标签 linux unix ubuntu awk sed

我有以下输入文件:

text1 text2 text3 text4
abc1 abc2 abc3 abc4

我试图找到两个选项卡之间的第二个字符串(例如 text2、abc2)并将其替换为另一个词。

我试过

sed s'/\t*\t/sample/1'

但它只是删除了标签,并没有替换单词。

感谢您的帮助!

最佳答案

我建议在这里使用 awk:

awk 'BEGIN { FS = OFS = "\t" } { $2 = "sample" } 1' file

将输入和输出字段分隔符设置为制表符并更改第二个字段。末尾的 1 始终为真,因此 awk 执行默认操作 { print }

关于linux - 替换两个选项卡之间的文本 - sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36794198/

相关文章:

linux - sigprocmask() 导致段错误

linux - 删除重复文件 (Linux)

python - 从 Bash 使用 STDIN 运行 Python

Ubuntu 服务器上的 Mysql 进程

ubuntu - 确定为什么 Redis 每隔一两分钟就会收到一个 SIGTERM

python - 如何安装脚本以从命令行的任何位置运行?

linux - 如何修复在 Ubuntu 上从源代码安装 Apache 时出现的错误 1

linux - 比较两行

unix - `(cd X; pwd)` 有时返回两行

linux - "service networking stop"无法在 Windows 7 上作为虚拟机加载的 Ubuntu 上停止