2017-09-11 10 views
0

J'ai un fichier html que je suis en train d'utiliser sed pour trouver automatiquement une ligne particulière et cette remplacé, mais je ne pas avoir la joie à ce jour ..En utilisant sed pour trouver/remplacer le texte dans un certain fichier

<div infinite-scroll='tabs[tabIndex].FeedService.loadFeed(false, tabs[tabIndex].FeedService.filters)'>

Je voudrais simplement saisir toute la ligne et remplacez la ligne suivante à l'aide sed

<div infinite-scroll-labs="tabs[tabIndex].FeedService.loadFeed(false, tabs[tabIndex].FeedService.filters)" infinite-scroll-labs-container="window">

// ma tentative ..

sed -r --posix "infinite-scroll='tabs[tabIndex].FeedService.loadFeed(false, tabs[tabIndex].FeedService.filters, search.text, search.dateFrom, search.dateTo)' infinite-scroll-disabled='tabs[tabIndex].FeedService.busy || tabs[tabIndex].FeedService.noMoreResults || !tabs[tabIndex].active || tabs[tabIndex].FeedService.initialLoad' infinite-scroll-distance='1' infinite-scroll-immediate-check='false'\infinite-scroll-labs="tabs[tabIndex].FeedService.loadFeed(false, tabs[tabIndex].FeedService.filters, search.text, search.dateFrom, search.dateTo)" infinite-scroll-labs-container="window" app/feed.html > $cur_dir/www/feed.html

Comment est la meilleure façon d'aller à ce sujet?

+4

ne pas utiliser regex pour le traitement des fichiers html ... – Sundeep

Répondre

0

Si vous êtes sûr que la ligne est exacte que vous voulez changer, alors peut-être cela fonctionnera:

sed "s#^\(<div infinite-scroll\)='\(tabs\[tabIndex\]\.FeedService\.loadFeed(false, tabs\[tabIndex\]\.FeedService\.filters)\)'>\$#\1-labs=\"\2infinite-scroll-labs-container=\"window\">#"