gpt4 book ai didi

linux - 如何使用shell脚本和sed删除文本文件中字符串的后缀?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:47 26 4
gpt4 key购买 nike

我有一个名为 file.txt 的文本文件,其中包含以下内容。

customer 
#line1-customer
security-team
#line1-security

我只想使用 shell 脚本删除此文件中 customer 下的 #line1

我的脚本

#!/bin/bash
string1="#line1-customer"
prefix=#

cat file.text | while read LINE
do
if [ "$LINE" == "$string1" ]; then
sed -i 's/"$LINE"/"$LINE#"$prefix""/g' file.text
done

执行后,没有发现错误。但是我检查了 file.txt,它仍然是一样的(# 没有被删除)

我怎样才能实现我的目标?

最佳答案

如果我没理解错的话,您想删除以变量 string1 中包含的模式开头的行的第一个字符。

如果是这样,就不需要bash脚本了,一个sed脚本就够了:

string1="#line1"
sed -i "/^${string1}/s/.\(.*\)$/\1/" file.txt

关于linux - 如何使用shell脚本和sed删除文本文件中字符串的后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52289485/

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