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

10
EOFで複数の改行を削除する方法は?
1つ以上の改行で終わるファイルがあり、1つの改行のみで終わる必要があります。Bash / Unix / GNUツールを使用してこれを行うにはどうすればよいですか? 不良ファイルの例: 1\n \n 2\n \n \n 3\n \n \n \n 修正されたファイルの例: 1\n \n 2\n \n \n 3\n 言い換えると、EOFとファイルの最後の非改行文字との間に改行が1つだけあるはずです。 参照実装 ファイルの内容を読み取り、最後にさらに2つの改行がなくなるまで1つの改行を切り取り、書き戻します。 #! /bin/python import sys with open(sys.argv[1]) as infile: lines = infile.read() while lines.endswith("\n\n"): lines = lines[:-1] with open(sys.argv[2], 'w') as outfile: for line in lines: …
25 bash  sed  awk  ed 

4
Ccで終了できないのはなぜですか?
ed最小限のテキストエディタであるプログラムは、Ctrl- を使用して割り込みを送信しても終了できませんC。代わりにエラーメッセージ「?」を出力します。コンソールに。ed割り込みを受信したときに終了しないのはなぜですか?ここで、単に終了するよりも不可解なエラーメッセージが役立つ理由はありません。この動作により、多くの新規ユーザーが次のような相互作用につながります。 $ ed hello ? help ? exit ? quit ? ^C ? ^C ? ? ? ^D $ su # rm -f /bin/ed このような悲劇的な浪費は、ed単に中断することに同意すれば簡単に回避できます。 同様の動作を示す別の頑固なプログラムはless、無視する理由があまりないようC-cです。これらのプログラムは単にヒントをとらないのですか?
20 less  interrupt  ed 

8
ファイルシステム全体でのsedインプレース行削除?
まだ診断されていないアプリケーションのバグが原因で、ディスクがいっぱいのサーバーが数百台あります。重複する行で満たされたファイルが1つあります。ログファイルではなく、変数定義を含むユーザー環境ファイルです(そのため、ファイルを削除することはできません)。 sed誤って追加された行をチェックして削除する簡単なコマンドを書き、ファイルのローカルコピーでテストしました。意図したとおりに機能しました。 ただし、ディスク全体を使用してサーバーで試したところ、およそ次のエラーが発生しました(コピーと貼り付けではなく、メモリからのものです)。 sed: couldn't flush /path/to/file/sed8923ABC: No space left on deviceServerHostname もちろん、私が知っている、左にスペースはありません。だから私はものを削除しようとしています!(sed私が使用しているコマンドは、4000行以上のファイルを約90行に減らします。) 私のsed命令はただsed -i '/myregex/d' /path/to/file/filename ディスクがいっぱいでもこのコマンドを適用する方法はありますか? (クイックフィックスとして数百のサーバーに適用する必要があるため、自動化する必要があります。) (明らかにアプリケーションのバグを診断する必要がありますが、その間サーバーは正しく動作していません...) 更新:私が直面した状況は、自分が削除できることがわかった他のものを削除することで解決しましたが、この質問への回答は今後も他の人にも役立つと思います。 /tmp立ち入り禁止です。同じファイルシステム上にあります。 ディスク領域を解放する前にvi、ファイルを開いて実行することで行を削除できることをテストして確認し:g/myregex/d、変更をで正常に保存しました:wq。一時ファイルを保持するために別のファイルシステムに頼ることなく、これを自動化することは可能であると思われます...(?)

1
ThompsonとRitchieがUnixの執筆時に使用したテキストエディターは何ですか?
おそらくそうだと思いますが、これqedを確認または否定するための情報源が見つかりません。 また、edUnixの全期間にわたって存在し、sam1980年代初頭に書かれました。Unix時代からPlan9まで、ほとんどの人がBell Labsで何を使用していたかはわかりますか? タイムラインは次のようになっていると思います: qed-> ed-> sam->acme
11 history  editors  ed 

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