タグ付けされた質問 「sed」

Sed(Stream EDitor)は、POSIX環境用のコマンドラインエディターです。sedは、編集スクリプトに従って1つ以上のファイルを処理し、結果を標準出力に書き込みます。Bell Labsで作成され、70年代半ばから存在しています。




19
ファイルからn行目を取得するBashツール
それを行う「標準的な」方法はありますか?私はhead -n | tail -1トリックを使用してきましたが、ファイルから行(または行の範囲)を明確に抽出するBashツールがあるかどうか疑問に思っていました。 「正規」とは、その主な機能がそれを行うプログラムを意味します。
605 bash  shell  unix  awk  sed 

13
ファイルを検索して置換し、ファイルを上書きしても機能せず、ファイルが空になる
コマンドラインからHTMLファイルに対して検索と置換を実行したいと思います。 私のコマンドは次のようになります: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html これを実行して後でファイルを見ると、空です。それは私のファイルの内容を削除しました。 ファイルを再度復元した後、これを実行すると: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html の stdoutファイルの内容で、検索と置換が実行されています。 なんでこんなことが起こっているの?


22
Unixのテキストファイルから所定の範囲の行を抽出するにはどうすればよいですか?
複数のデータベースに相当するデータを含む、最大23000行のSQLダンプがあります。このファイルの特定のセクション(つまり、単一のデータベースのデータ)を抽出して、新しいファイルに配置する必要があります。必要なデータの開始行番号と終了行番号の両方を知っています。 例えば、16224と16482の間のファイルからすべての行を抽出し、それらを新しいファイルにリダイレクトするUnixコマンド(または一連のコマンド)を知っている人はいますか?

3
sedとawkの違いは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 awkとsedはどう違いますか? sedおよびawkツールの最適な使用例はどのようなアプリケーションですか?
497 sed  awk 

21
sedでの貪欲でない(消極的な)正規表現一致?
sedを使用してURLの行をクリーンアップし、ドメインのみを抽出しようとしています。 だからから: http://www.suepearson.co.uk/product/174/71/3816/ が欲しいです: http://www.suepearson.co.uk/ (末尾のスラッシュの有無にかかわらず、それは問題ではありません) 私が試してみました: sed 's|\(http:\/\/.*?\/\).*|\1|' および(貪欲でない数量詞をエスケープする) sed 's|\(http:\/\/.*\?\/\).*|\1|' しかし、貪欲でない量指定子(?)が機能しないように見えるため、常に文字列全体と一致します。
406 regex  sed  pcre  greedy  regex-greedy 

13
sedを使用して空の行を削除する
私はsedを使用して空の行を削除しようとしています: sed '/^$/d' しかし、私はそれで運がありません。 たとえば、次の行があります。 xxxxxx yyyyyy zzzzzz そして私はそれが次のようになりたいです: xxxxxx yyyyyy zzzzzz このためのコードは何ですか?
350 linux  unix  sed 

12
Sedを使用して文字列を含む行全体を置き換える
私は次のような特定の行を持つテキストファイルを持っています sometext sometext sometext TEXT_TO_BE_REPLACED sometext sometext sometext 上記の行全体を次のように置き換える必要があります This line is removed by the admin. 検索キーワードは TEXT_TO_BE_REPLACED このためのシェルスクリプトを記述する必要があります。どうすればこれを使用してこれを達成できsedますか?
319 string  shell  sed 

14
sed置換パターンの文字列をエスケープする
私のbashスクリプトには、外部(ユーザーから受け取った)文字列があり、sedパターンで使用する必要があります。 REPLACE="<funny characters here>" sed "s/KEYWORD/$REPLACE/g" $REPLACE文字列をエスケープして、文字列のsed置き換えとして安全に受け入れられるようにするにはどうすればよいですか? 注:KEYWORDこれは、ユーザによって供給されていないいない試合などでダムストリングです。
317 string  sed  escaping 

11
Macで-iオプションを指定したsedコマンドが失敗するが、Linuxでは機能する
sedLinuxで次のコマンドを使用してテキストを検索/置換できました。 sed -i 's/old_link/new_link/g' * しかし、Mac OS Xで試してみると、次のようになります。 「コマンドcは\の後にテキストが続くことを期待しています」 私のMacは通常のBASHシェルを実行していると思いました。調子はどう? 編集: @High Performanceによると、これはMac sedが異なる(BSD)フレーバーであることが原因です。そのため、私の質問は、このコマンドをBSDでどのように複製するsedかです。 編集: これを引き起こす実際の例を次に示します。 sed -i 's/hello/gbye/g' *
303 linux  macos  bash  sed 

13
sed編集ファイルを配置
編集したコンテンツを手動で新しいファイルにストリーミングし、新しいファイルの名前を元のファイル名に変更せずに、単一のsedコマンドでファイルを編集できるかどうかを確認しようとしています。私はその-iオプションを試しましたが、私のSolarisシステムはそれ-iが違法なオプションだと言っていました。別の方法はありますか?
300 unix  sed  solaris 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.