Reccelでアポストロフィを避けるには?

Reccelでアポストロフィを避けるには?

次のログファイルを考えてみましょう。

Name: John
Text: It's me!

Name: Jane
Text: Hello

次のコマンドは、2番目のレコードを選択するのに完全に機能します。

recsel -e "Text = 'Hello'" test.rec

しかし、最初のものを選ぶ方法は?

recsel -e "Text = 'It\'s me!'" test.rec

によると文書(セクション3.5.2.2「文字列リテラル」)これは正しい構文です。

私はGNU Recutilsバージョン1.9を使用しています。

ベストアンサー1

recselこれは実際には特定の問題ではなく、シェル引用の問題です。

テキストにログインすると!(少なくともインタラクティブなbashシェルでは)複雑さが増します。テキストがない場合は、二重引用符内にエスケープされた二重引用符を使用できるため、中の一重引用符の特別な意味は削除されます。以下を示すために、履歴拡張をオフにします。

$ set +o histexpand
$ recsel -e "Text = \"It's me!\"" test.rec
Name: John
Text: It's me!

それ以外の場合は、外部単一引用符を使用して文字通り単一引用符で囲んでから再度開くことができます。

$ recsel -e 'Text = "It'\''s me!"' test.rec
Name: John
Text: It's me!

おすすめ記事