我想玩sed,改變所有;在sed中的正則表達式來替換C++包括
#include "X"
到:
#include <X>
不過,我似乎無法找到一個方法來做到這一點! - 這是我迄今所做的:
sed -i 's/#include ".*"/#include <.*>/g' filename
我想我需要一個變量來保存包含的,我只是不知道如何「*」!
我想玩sed,改變所有;在sed中的正則表達式來替換C++包括
#include "X"
到:
#include <X>
不過,我似乎無法找到一個方法來做到這一點! - 這是我迄今所做的:
sed -i 's/#include ".*"/#include <.*>/g' filename
我想我需要一個變量來保存包含的,我只是不知道如何「*」!
是的,你做的。正則表達式使用()來保存匹配內容和\ 1來檢索它。如果您使用多個()集合,則第二個匹配位於\ 2中,依此類推。
sed -e 's/#include "\(.*\)"/#include <\1>/g' < filename
會做你所需要的。
嘗試:
sed 's/#include "\(.*\)"/#include <\1>/' x.cpp
嘗試:
sed -i 's/#include "\(.*\)"/#include <\1>/g' filename