您好我正在为大师的sed寻求帮助, 基本上我git两个文件
First :- serial.txt
second :- info.txt
文件serial.txt
有一个独特的信息。
和文件info.txt
有
"http://irequestedserver1?u=user:p=123"
"http://irequestedserver2?u=user:p=123"
and more and more
我想用第一个文件serial.txt中存储的信息替换用户词。
答案 0 :(得分:1)
假设serial.txt
包含一行信息,用于info.txt
中的所有行:
sed -r 's/\?u=[^:]+:/\?u='"$(tr -d '\n' < serial.txt)"':/' info.txt
答案 1 :(得分:1)
如果您的serial.txt
文件包含名称,那么您可以尝试以下内容:
$ cat serial.txt
jaypal
$ cat info.txt
"http://irequestedserver1?u=user:p=123"
"http://irequestedserver2?u=user:p=123"
$ awk 'NR==FNR{a[$1];next}{for (name in a) {sub(/u=.*:/,"u="name":")}}1' serial.txt info.txt
"http://irequestedserver1?u=jaypal:p=123"
"http://irequestedserver2?u=jaypal:p=123"
答案 2 :(得分:0)
使用sed
var=$(<serial.txt)
sed -r "s/(u=user:)([^\"]*)/\1${var}/" info.txt