次の内容を含むファイルがあります。
***************Encrypted String***************
ezF7LcHO0Zlb+8kkBeIwtA==
**********************************************
上記で暗号化されたパスワードを取得できます。 Googleで回答を検索して次の例(以下)を取得しましたが、うまくいきません。
sed -n '/***************Encrypted String***************/,/**********************************************/p' $file
試しましたが成功しませんでした。
答え1
ここでの問題は、これが*
正規表現演算子なので、\*
それをリテラルとして扱うにはエスケープする必要があるということです。これらの調整がないと、テキストで引用された例と提案が失敗BEGIN
しますEND
。
***************Encrypted String*************** ezF7LcHO0Zlb+8kkBeIwtA== **********************************************
2番目の行を抽出するには、次のいずれかの方法を使用できます。
sed -n '0,/\*Encrypted String\*/d;p;q' "$file"
sed -n 2p "$file"
最初の項目が一致する*Encrypted String*
と、次の行が印刷されます。文字は文字通りのアスタリスクとして扱うように*
書かれています。\*
2 番目はファイルの 2 行目だけを印刷します。