Daha sonra değiştirmek üzere kullanılacak bir değişkenin belirli bir bölümünü değişken olarak saklamak istiyorum. Bunu elden önce ihtiyacım olan değişkeni bulmak yerine tek bir astarda tutmak isterim.Bir sed komutunda yer tutucuları/değişkenleri kullanma
apacheyi yapılandırılması ve kullanımı mod_rewrite, sen desen belirli bölümlerini specificy bu gibi değişkenler olarak kullanılmak üzere: Parantez içinde bulunan ediyor desen maçın parçası 1 $ olarak depolanır
RewriteRule ^www.example.com/page/(.*)$ http://www.example.com/page.php?page=$1 [R=301,L]
daha sonra kullanmak için. Yani URL
www.example.com/page/home
ise,
www.example.com/page.php?page=home
ile değiştirilir. Bu yüzden maçın "ev" kısmı 1 $ 'a kaydedildi çünkü parantez içindeki paternin bir parçasıydı.
sed
komutuyla bu işlevsellik gibi bir şey istiyorum, her bir tablodan önce komutlar varsa, tabloyu eklemek için bir SQL dökümü dosyasında birçok dizeyi otomatik olarak değiştirmeniz gerekiyor, ancak tablo adını bilmem gerekiyor
...
CREATE TABLE `orders`
...
Ben böyle bir şey çalıştırmanız gerekir:
: sonucunu almak içincat dump.sql | sed "s/CREATE TABLE `(.*)`/DROP TABLE IF EXISTS $1\N CREATE TABLE `$1`/g"
bu, döküm dosyası gibi bir şey bu yüzden içeriyorsa
...
DROP TABLE IF EXISTS `orders`
CREATE TABLE `orders`
...
sed
komutunda mod_rewrite sözdizimini, yapmaya çalıştığım şeyin mantıksal bir örneği olarak kullanıyorum.
herhangi bir öneriniz?
https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html bu açıklama için teşekkürler, bu tamamen benim soruya cevap vardır. –