如何在bash中替换一行

时间:2010-03-14 02:38:09

标签: bash

如何使用Bash脚本将以“string1”开头的行替换为“string2 lala”?

2 个答案:

答案 0 :(得分:5)

使用sed实用程序

sed -e 's/^string1.*/string2 lala/'

sed -e 's/^string1.*/string2 lala/g'

在每次出现时将其替换

答案 1 :(得分:3)

使用bash,

#!/bin/bash
file="myfile"
while read -r line
do
 case "$line" in
  string1* ) line="string2 lala"
 esac
 echo "$line"
done <"$file" > temp
mv temp $file

使用awk

awk '/^string1/{$0="string2 lala"}1' file