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

「sed」(「ストリームエディタ」)は、テキストファイルを解析および変換するUnixユーティリティです。

4
sedの空白を一致させる方法は?
sedの空白をどのように一致させることができますか?私のデータでは、3つ以上の後続の空白文字(タブスペース)をすべて一致させ、それらを2つのスペースに置き換えます。これをどのように行うことができますか?
218 sed  whitespace 

6
sedの正規表現での代替「|」の使用
sed、GNU sedバージョン4.2.1を使用しています。代替「|」を使用したい 部分式のシンボル。例えば ​​: echo "blia blib bou blf" | sed 's/bl\(ia|f\)//g' 帰るべき " blib bou " しかし、それは戻ります "blia blib bou blf". 期待される結果を得るにはどうすればよいですか?
79 regex  sed 


10
テキストストリームからANSIカラーコードを削除する
からの出力を調べる perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' テキストエディタ(例:)ではvi、次のように表示されます。 ^[[37mABC ^[[0m 出力ファイルからANSIカラーコードをどのように削除しますか?最善の方法は、出力を並べ替えのストリームエディターにパイプすることだと思います。 以下は機能しません perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' | perl -pe 's/\^\[\[37m//g' | perl -pe 's/\^\[\[0m//g'
73 regex  sed  perl  awk 

10
テキストファイルでの置換**正規表現なし**
テキストファイル内のテキストを置換する必要があります。通常、私は次のようなことをします sed -i 's/text/replacement/g' path/to/the/file 問題は、両方のことであるtextとは、replacementその上のダッシュ、スラッシュ、blackslashes、引用符とを含む複雑な文字列です。text物の中の必要な文字をすべてエスケープすると、すぐに読めなくなります。一方、正規表現の力は必要ありません。テキストを文字通りに置き換えるだけです。 いくつかのbashコマンドで正規表現を使用せずにテキスト置換を行う方法はありますか? これを行うスクリプトを作成するのは簡単ですが、既に何かが存在するはずです。
68 bash  regex  sed  text-editing 

7
ファイル名にテキストを一括付加する方法は?
.mdすべてのさまざまな名前のファイルでいっぱいのディレクトリがあるとしましょう。各ファイル名の前に「テキスト」を追加したいとしましょう。だから、例えば:ファイルa.md、b.md、とc.mdなるtest - a.md、test - b.mdとtest - c.md。 コマンドラインでこれをどのように達成しますか?

5
Mac OS Xのsedの改行
私は見つける\n具体的には、私は言葉を壊したくはMac OS Xでのsedで仕事を言っていない行に半角スペースで区切って: # input foo bar 私が使う、 echo "foo bar" | sed 's/ /\n/' しかし、結果は愚かです、\n逃げられません! foonbar Googleに相談した後、回避策を見つけました。 echo 'foo bar' | sed -e 's/ /\'$'\n/g' 記事を読んだ後、私はまだ何を\'$'\n/g'意味するのか理解できません。誰かがそれを私に説明できますか、またはそれを行う他の方法がありますか?ありがとう!
44 macos  mac  bash  regex  sed 

4
sedを使用してnullバイトを削除する方法は?
sedファイルからヌルバイトを削除するための呪文は何ですか?私はしようとしています: s/\000//g しかし、それはゼロの文字列を取り除きます。 s/\x00//g 効果がないようです。これをsedスクリプトで実行しようとしているので、このechoトリックが機能するかどうかわかりません。
37 sed 

8
sed:見つかった場合は行を置換する方法、見つからない場合はファイルの最後に追加する方法
コメント(#で始まる)とVARIABLE = value行のみを含む単一の入力ファイルで、単一の変数の値が見つかった場合は置換し、見つからない場合はファイルの末尾にペアを追加できますか? 私の現在の方法は、最初のパスでそれを削除してから、2回目のパスでファイルの最後に追加することで機能しますが、このメソッドは行の順序を乱します(また2つの異なるコマンドです): sed -r "/^FOOBAR=.*$/d" -i samefile && sed -r "$ a\FOOBAR=newvalue" -i samefile とにかくこれを行うにはありますか?単一のsed行で行の順序を維持しますか?他のユーティリティ(awk、...)がこれを行う場合、sedを引き継ぎます。
34 linux  command-line  sed  awk 

3
配管で「sed」を使用する方法
から出力された文字列を置換したいgrep: $ npm info webpack | grep version それは私を出力します $ version: '2.1.0-beta.12', しかし、私はしたい: $ 2.1.0-beta.12 だから私はsed不必要な部分文字列を使用してそれを達成し、置き換えることができると思います。しかし、これは私にとって難しい部分です: $ npm info webpack | grep version: | sed s/version: / sed: -e expression #1, char 10: unterminated `s' command どうすれば目標を達成できますか?
34 bash  grep  sed 


3
ファイル内の行をsedのパターンに置き換える方法は?
私はsedに関する多くのドキュメントを読んでいますが、それでも私の特定のユースケースには困惑しています。 confファイルのこの行を自分の行に置き換えたい: 次の行を置き換えます。 #maxmemory <bytes> で: 最大メモリ26GB これは私が試したものです: sed s / maxmemory。* bytes。* / maxmemory 26gb / /etc/redis/redis.conf エラーが表示されます: sed:-e expression#1、char 30:終了していない「s」コマンド 私はそれが何を意味するのか分からないので、私を困らせます だから私の質問は: どうすれば目的を達成できますか?そのエラーはどういう意味ですか?(だから私はそれから学ぶことができます)

6
psの出力を解析する単一のコマンドを使用して、実行中のプロセスのpidを取得する方法は?
この質問は、Super Userで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 実行中のプロセスのPIDを返す単一の行を探しています。 現在私は持っています: ps -A -o pid,cmd|grep xxx|head -n 1 そして、これは拳を返しますpid, command。出力の最初の数だけが必要で、残りは無視します。私は考えsedたりawk、ここに役立つだろうが、彼らと私の経験が限られています。 また、これには別の問題があります。xxxが実行されていない場合、grepのpidを返します。 そのプロセスを強制終了するなど、何か他のことをするために出力を再利用したいので、1行にすることが本当に重要です。
22 bash  sed  awk  pid 

18
使用可能なすべてのネットワークインターフェイスのデバイス名のみを一覧表示する
Linuxサーバーで利用可能なすべてのネットワークデバイス名のリストを取得したい。私はそれを考え出した ifconfig ただし、ifconfigはかなりの出力を生成します。 eth0 Link encap:Ethernet Hardware Adresse 08:00:27:fc:5c:98 inet Adresse:192.168.2.222 Bcast:192.168.2.255 Maske:255.255.255.0 inet6-Adresse: fe80::a00:27ff:fefc:5c98/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:329 errors:0 dropped:0 overruns:0 frame:0 TX packets:177 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:41496 (40.5 KiB) TX bytes:32503 (31.7 KiB) eth1 Link encap:Ethernet Hardware Adresse 08:00:27:e9:35:7d …
21 linux  networking  grep  sed  cat 

2
大きなテキストファイルの最初の行を編集する
巨大なテキストファイルがあり、すべてをメモリにページングするには大きすぎます。このテキストファイルで必要なのは、最初の行を編集することだけです(CSVファイルで、タイトルを変更する必要があります)。 bashでこれを行う簡単な方法はありますか?
16 linux  bash  grep  sed  textfiles 

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