fstab
次の使用からこの行を削除したいと思いますsed
。
/var/run/saslauthd /export/sasl none bind 0 0
解決策を知っています。まず行番号を指定してから削除しますsed
。しかし、これら3つをエスケープする方法を知りたいです/
。
私はたくさん試してみましたが、次のうち何も動作しません。
sed /^/var/run/saslauthd/d /etc/fstab
sed /^\/var\/run\/saslauthd/d /etc/fstab
sed /^"/var\/run\/saslauthd"/d /etc/fstab
sed ^"/var\/run\/saslauthd"/d /etc/fstab
sed ^"/var/run/saslauthd"/d /etc/fstab
sed ^/var/run/saslauthd:d /etc/fstab
sed :^/var/run/saslauthd:d /etc/fstab
sed :^"/var/run/saslauthd":d /etc/fstab
sed :^\/var\/run\/saslauthd":d /etc/fstab
sed :^\/var\/run\/saslauthd:d /etc/fstab
sed :^//var/run/saslauthd:d /etc/fstab
sed ^//var/run/saslauthd:d /etc/fstab
答え1
伝統的に式/
では区切り文字として使用されていましたが、sed
実際には好きなように使用できます。したがって、/
一致させたいパターンがある場合は、一般的に私が選択する他のものを使用する方が簡単ですが、,
ほとんどすべてが可能です。ただし、あなた以外のものと一緒に使用するには/
エスケープが必要な場合があります。たとえば、
sed -e '\,^/var/run/saslauthd,d' /etc/fstab
:
を使用すると、リードがある最初の項目に対して同じ操作を実行できます\:
。