HP-UXで再帰的な検索と置換を行おうとしていますが、何かが足りません。
私が今持っているもの:
find . -name "*.Java" | xargs sed 's/foo/bar/g'
問題は、ファイルがインラインで置き換えられていないことです。他のOSには-iフラグがあると思いますが、私のHP-UXバージョンにはないようです。
助言がありますか?
不足している-i
を次のように回避できます(未テスト):
for i in `find . -name "*.Java"`; do cp $i /tmp/$$; sed 's/foo/bar/g' < /tmp/$$ > $i;done
いつでもed
を使用できます
find . -name "*.Java" | while IFS= read -r file; do
ed "$file" <<ED_COMMANDS
%s/foo/bar/g
w
q
ED_COMMANDS
done