$ cat file
fooutl_file.Putf(g_logfile, '******This is sample log msg:' || '\n');bar
$ awk -i inplace '
BEGIN { old=ARGV[1]; new=ARGV[2]; ARGV[1]=ARGV[2]="" }
s=index($0,old) {
$0 = substr($0,1,s-1) new substr($0,s+length(old))
}
1' \
"utl_file.Putf(g_logfile, '******This is sample log msg:' || '\n');" \
"write_log(log_desc=> '****** This is sample log msg:', prc_name=>l_db_name);" \
file
$ cat file
foowrite_log(log_desc=> '****** This is sample log msg:', prc_name=>l_db_name);bar
В приведенном выше примере GNU awk используется для редактирования на месте, поэтому вы можете изменить все свои файлы одним вызовом awk: awk 'script' *
. С другими awks просто напишите в файл tmp в цикле: for f in *; do awk 'script' "$f" > tmp && mv tmp "$f"; done
.