gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 23:15:47 25 4
gpt4 key购买 nike

我想替换第一行中存在的字符串,尽管它也存在于文件中的其余行中。我如何通过 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

根据上述示例数据,我需要将 buxt_pt_apnd_20140624_head_5records.txt 替换为 SRC_FILE_NAME 字符串。

最佳答案

为什么不使用sed

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

将在第 1 行将 fred 替换为 frog

如果你的“字符串”是一个变量,你可以这样做来扩展变量:

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

如果您想就地执行此操作并更改文件,请在 -e 之前添加 -i

关于unix - 替换 UNIX 文件第一行中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24894308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com