Yanıtlar:
Bunu ters eğik çizgi ile yapabildim:
25 % grep \< xmospos.c
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>
#include <X11/Xlib.h>
Birinden daha az alıntı yapılan ve bir alıntıdan daha az alıntı yapılan, her ikisinden daha az ters eğik çizgili aptalca cevaplar verdi.
grep -oP '(?< )(.*)$'
örneğin tek tırnaklarla çalışmaz. İlk başta denedim.
(?<! )(.*)$
yoksa (?<= )(.*)$
?
İki basit kural:
\C
, yeni satırdan başka bir sonraki karakterden kaçar.'text'
, ters eğik çizgi de dahil olmak üzere aralarındaki herhangi bir karakterden kaçar, ancak tek bir tırnak işareti içermez (alıntılanan metnin sonunu işaretlediğinden).Böylece:
grep -P '<html>' myfile
grep -P \<html\> myfile
grep -P '(?<!<)html' myfile
grep -P \(\?\<\!\<\) myfile
Tek tırnak içeren bir argüman iletmeniz gerekiyorsa, '\''
tek tırnak içinde tek bir tırnaktan “kaçmak” için kullanabilirsiniz . Teknik olarak, bunun yaptığı ilk değişmez metni sonlandırın, sonra '
aynı kelimeye bir değişmez , daha sonra aynı kelimede daha fazla değişmez metin koyun .
grep '^D'\''oh!' myfile
Alıntılama kurallarının geri kalanı (özetlenmiştir):
!"#$&'()*;<>?[\]^`{|}~
(diğer bir deyişle, aşağıdaki karakterler güvenlidir: harfler, rakamlar %+,-./:=@_
ve ASCII olmayan karakterler)."$\`
ve hariç tüm karakterler tam anlamıyla kullanılır (geçmiş etkinleştirilmiş kabuklarda) !
. Değişmez olmayan karakterlerden önce gelmediği sürece dizede çift tırnak işaretleri arasında ters eğik çizgi görünür.Bu kurallar bash ve diğer Bourne tarzı mermiler (kül ve ksh gibi) içindir. Zsh için de geçerlidirler (boşluktan =
sonra tırnak işaretine ihtiyaç duyabilirler). Csh / tcsh ve Fish'teki kurallar farklıdır.