sedを使用して特定の文字列の前にカンマを置き換える方法

sedを使用して特定の文字列の前にカンマを置き換える方法

ファイルがありますtemp.txt。ここでは、カンマ(,)をBetweenとキーワードに置き換えたいと思います。||SelectFrom

select emp_name,
       emp_id,
       loc
from   emp_join ,
       emp_loc
where emp_join.id = emp_loc.id 
and  join_date > to_date('2015-01-01','YYYY-MM-DD')

UNION

select emp_name,
       emp_id,
       loc
from   emp_term,
       emp_loc
where  emp_term.id = emp_loc.id
and   term_date = to_date('2015-01-01','YYYY-MM-DD'); 

私はsedコマンドを使用しています

sed 's/,/||/g' temp.txt

ただし、ファイル内のすべてのカンマを置き換えます。

これを行うことができる単純なUnixコマンドはありますか?これを行う方法はsed

ベストアンサー1

sed -e '/^select/,/^from/s/,/||/' temp.txt

おすすめ記事