在bash的文本文件更改线的一部分 [英] Changing part of a line in a text file in bash

查看:135
本文介绍了在bash的文本文件更改线的一部分的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文本文件中的一行,例如:

I have a line in a text file, for example:

ABCDE:jhdfj $ jhbsfiy / .hghi $ JH:12345:dgve ::

abcde:jhdfj$jhbsfiy/.hghi$jh:12345:dgve::

和我想更换第三场,12345,有一个变量。如果没有触及它,而不复制任何一个变量休息...帮助吗?是的,这是一个单向的问题主要为:)

and I want to replace the 3rd field, 12345, with a variable. Without touching the rest of it and without copying anything to a variable... help? Yes, it's a uni question essentially :)

推荐答案

这应该工作:

v="new val"
echo "abcde:jhdfj$jhbsfiy/.hghi$jh:12345:dgve::" | awk -F: -v new=${v} 'OFS=FS; $3=new'

这篇关于在bash的文本文件更改线的一部分的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆