set -x
"$(which tsc)" ファイルに含まれる行を削除したいのですが、エラーが発生します。
$ sed -i ".bak" 'set -x' "$(which tsc)"
sed: -e expression #1, char 1: unknown command: `.'
確認しました解決策はここにありますしかし、私の行の終端者はですLF
。
答え1
文法エラーがあります。その後にスペースを含めることはできません。-i
拡張子のみ(初期)エラーメッセージが表示されます。
また、必要なパターンに従って線を削除します/<pattern>/ d
(sed
他の方法もありますが、これが最もきれいです)。これを行う:
sed -i".bak" '/set -x/ d' "$(which tsc)"
(オプション)バックアップ拡張にはスペースや制御文字が含まれていないため、この場合は引用符なしでエスケープできます。
sed -i.bak '/set -x/ d' "$(which tsc)"
答え2
次のコマンドを試してください。
sed -i.bak '/pattern to match/d' ./infile
また、参照することができますテキストファイルから特定の文字列を含む行を削除する(スタックオーバーフローから)インクルードの削除の詳細をご覧くださいset -x
。