2017-09-18 20 views
0

sedを使用して次の関数呼び出しの最初のパラメータを抽出する必要があります。sedを使用したパターン間の文字列の印刷

strlcpy(p->name,getInfo(NULL,&account)); 
strlcpy(p->balance,getInfo(NULL,&account)); 
strlcpy(p->number,getInfo(NULL,&account)); 
strlcpy(p->address,getInfo(NULL,&account)); 

以下のように文字列の結果を期待します。

p->name 
p->balance 
p->number 
p->address 

次のコマンドは、追加の詳細を出力します。最初のパラメータのみが必要です。

sed -n 's/strlcpy(\(.*\),/\1/p' kk.txt 

p->name,getInfo(NULL&account)); 
p->balance,getInfo(NULL&account)); 
p->number,getInfo(NULL&account)); 
p->address,getInfo(NULL&account)); 
+0

あなたは他のツールを使用することに開いている場合: 'グレップ-OP '\ bstrlcpy \(\ K [^、] +'' –

+0

この質問は[UNIXとLinux]にクロスポストされています(https://unix.stackexchange.com/questions/393037/printing-string-between-pattern-using-sed) – John1024

答えて

3
sed -n 's/.*strlcpy(\([^,]*\).*/\1/p' kk.txt 
関連する問題