sed
次のコマンドを作成しようとしています。v=window.location.search.match
ファイルを検索して次に置き換えようとしています。<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
これが私が今まで持っているものです:
sed -i.bak 's/v=window.location.search.match/\<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"\>\</script\>/d' myfile.txt
このコマンドを実行した後、次のエラーが発生します。
sed: -e expression #1, char 49: unknown option to `s'
誰もが逃げるためにどこに置くべきか混乱しています\
。
ベストアンサー1
@Babyyが指摘したように、式に/
文字が含まれていると、区切り文字をsed
入力ファイルに見つからない区切り文字に変更する危険があります|
。_
sed -i.bak 's|v=window.location.search.match|<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>|' myfile.txt
行全体を置き換えるには、式の最初の部分が行の先頭から最後まですべてに一致する必要があります。
sed -i.bak 's|^.*v=window.location.search.match.*$|<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>|' myfile.txt