使用 sed 到 find/replace 某个文件中的文本

Using sed to find/replace text in a certain file

我有一个 html 文件,我正在尝试使用它 sed 来自动查找特定行并替换它,但到目前为止我并不高兴..

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

我想简单地抓取整行并使用 sed

替换为下一行

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

// 我的尝试..

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

解决这个问题的最佳方法是什么?

如果您确定那是您要更改的确切行,那么也许这行得通:

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