加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

替换UNIX文件中第一行上的字符串

发布时间:2020-12-16 01:50:20 所属栏目:安全 来源:网络整理
导读:我想替换第一行中存在的字符串,尽管它也存在于文件的其余行中.我怎么能通过 shell脚本来做到这一点?有人可以帮我这个.我的代码如下.我从文件中提取第一行,之后我不知道如何进行替换.任何帮助,将不胜感激.谢谢. 伙计们 – 我想替换$line中的字符串,并将新行
我想替换第一行中存在的字符串,尽管它也存在于文件的其余行中.我怎么能通过 shell脚本来做到这一点?有人可以帮我这个.我的代码如下.我从文件中提取第一行,之后我不知道如何进行替换.任何帮助,将不胜感激.谢谢.

伙计们 – 我想替换$line中的字符串,并将新行写入同一位置的同一文件中.

码:

while read line
do
        if [[ $v_counter == 0 ]] then
                echo "$line"

                v_counter=$(($v_counter + 1));
        fi
done < "$v_Full_File_Nm"

样本数据:

输入

BUXT_CMPID|MEDICAL_RECORD_NUM|FACILITY_ID|PATIENT_LAST_NAME|PATIENT_FIRST_NAME|HOME_ADDRESS_LINE_1|HOME_ADDRESS_LINE_2|HOME_CITY|HOME_STATE|HOME_ZIP|MOSAIC_CODE|MOSAIC_DESC|DRIVE_TIME| buxt_pt_apnd_20140624_head_5records.txt
100106086|5000120878|7141|HARRIS|NEDRA|6246 PARALLEL PKWY||KANSAS CITY|KS|66102|S71|Tough Times|2|buxt_pt_apnd_20140624_head_5records.txt

产量

BUXT_CMPID|MEDICAL_RECORD_NUM|FACILITY_ID|PATIENT_LAST_NAME|PATIENT_FIRST_NAME|HOME_ADDRESS_LINE_1|HOME_ADDRESS_LINE_2|HOME_CITY|HOME_STATE|HOME_ZIP|MOSAIC_CODE|MOSAIC_DESC|DRIVE_TIME| SRC_FILE_NM
100106086|5000120878|7141|HARRIS|NEDRA|6246 PARALLEL PKWY||KANSAS CITY|KS|66102|S71|Tough Times|2|buxt_pt_apnd_20140624_head_5records.txt

从上面的示例数据我需要用SRC_FILE_NAME字符串替换buxt_pt_apnd_20140624_head_5records.txt.

解决方法

为什么不使用sed?

sed -e '1s/fred/frog/' yourfile

将在第1行用青蛙取代弗雷德.

如果你的’string’是一个变量,你可以这样做以扩展变量:

sed -e "1s/$varA/$varB/" yourfile

如果要在适当的位置进行更改并更改文件,请在-e之前添加-i.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读