タグ付けされた質問 「text-processing」

プログラム、スクリプトなどによるテキストの操作または検査

6
UNIXで行ごとに2つの異なるファイルを比較するにはどうすればよいですか?
File1: 123 234 345 456 File2: 123 234 343 758 期待される出力:File3: TRUE TRUE FALSE FALSE そのため、コードは2つのファイルを比較し、一致する場合は「TRUE」を出力し、一致しない場合は新しいファイルに「FALSE」を出力する必要があります。誰でもこの解決策を提供できますか?


6
リストを特定のキャラクターに合わせる方法は?
テキストの行を任意の文字に水平方向に揃えるために使用できるコマンドまたはコマンドのセットはありますか?たとえば、電子メールアドレスのリストを使用すると、すべての「@」文字が縦に並んだテキストファイルが出力されます。 成功するには、ほとんどの行の先頭に可変数の空のスペースを追加する必要があると思います。読み取りに多くの労力がかかるため、別々の列は必要ありません(たとえばcolumn -t -s "@" < file.txt)。 前: 123@example.com 456789@example.net 01234@something-else.com 後: 123@example.com 456789@example.net 01234@something-else.com 別の言い方をすると、文字をアンカーポイントとして指定できますか?これの私のユースケースは、視覚的にスキャンしやすくするためのメールアドレスです。


3
ソートされたテキストファイルでのバイナリ検索
数十億行の可変長の大きなソート済みファイルがあります。新しい行があれば、ソートされたファイルに含まれていた場合に取得するバイト番号を知りたいと思います。 例 a\n c\n d\n f\n g\n 入力 'foo'が与えられると、出力9が得られます。 これは、ファイル全体を単純に調べることで簡単に実行できますが、数十億行の可変長であるため、バイナリ検索を行う方が高速です。 そのようなテキスト処理ツールはすでに存在しますか? 編集: 今では:https : //gitlab.com/ole.tange/tangetools/blob/master/bsearch/bsearch

3
ヘッダーまたはフッターをsedまたはawkストリームに追加する方法は?
sedとawkを通過する大量の出力があります。 出力の先頭にSTARTを付け、回答の最後にENDを付けるにはどうすればよいですか? たとえば、私が持っている場合 All this code on all these lines and all these どうすれば入手できます: START All this code on all these lines and all these END ? 私の試みは: awk '{print "START";print;print "END"}' しかし、私は得た ... START All this code END START on all these lines END START and all these END

9
ファイル内のすべての行の5番目の単語を削除するにはどうすればよいですか?
ファイルの各行の5番目の単語を削除したい。 ファイルの現在のコンテンツ: File is not updated or and will be removed System will shut down f within 10 seconds Please save your work 55 or copy to other location Kindly cooperate with us D 期待される出力: File is not updated and will be removed System will shut down within 10 seconds …

4
sedを使用して連続ストリーミング出力を操作する方法は?
私は技術に詳しくない聴衆のためにプレゼンテーションをまとめています。値の連続ストリームを出力するbashで実行しているプログラムがありますが、そのうちのいくつかは重要です。重要な結果が表示されるときに強調表示して、聴衆がその頻度を把握できるようにします。問題はsed、実行中のストリームを操作できないことです。次のように結果をファイルに入れるとうまくいきます: cat output.txt | sed "s/some text/some text bolded/" しかし、次のように実行中の出力で同じことをしようとすると: command | sed "s/some text/some text bolded/" sed何もしません。何かご意見は? ランバートは指摘するのに十分役に立ちましたので、私の言ったことsedは何も曖昧ではありませんでした。何が起こっstdoutているのかstderrは、たとえそれがパイプスルーされたとしても、プログラムが通常どおりに出力することです(書き込みを行っていないことはかなり確信しています)sed。 問題は、コマンドが2番目のプログラムを呼び出し、それが標準出力に出力されることであるようです。最初のプログラムで印刷された数行があります。これらは編集できます。次に、2番目のプログラムによって出力される値のストリームがあります。これらは編集できません。 Perlおよびawkメソッドも機能しません。

9
ファイル内のすべての行のペアワイズ展開を「cat」するコマンドラインツール
次のようなファイル(sample.txtというファイル)があるとします。 Row1,10 Row2,20 Row3,30 Row4,40 基本的に4行すべてのペアの組み合わせであるこのファイルからのストリームで作業できるようにしたいので(合計で16になるはずです)。たとえば、出力が次のようなストリーミング(つまり効率的な)コマンドを探しています。 Row1,10 Row1,10 Row1,10 Row2,20 Row1,10 Row3,30 Row1,10 Row4,40 Row2,20 Row1,10 Row1,20 Row2,20 ... Row4,40 Row4,40 私の使用例は、この出力を別のコマンド(awkなど)にストリーミングして、このペアごとの組み合わせに関するメトリックを計算することです。 私はawkでこれを行う方法がありますが、私の懸念は、END {}ブロックを使用すると、出力する前に基本的にファイル全体をメモリに保存することです。サンプルコード: awk '{arr[$1]=$1} END{for (a in arr){ for (a2 in arr) { print arr[a] " " arr[a2]}}}' samples/rows.txt Row3,30 Row3,30 Row3,30 Row4,40 Row3,30 Row1,10 Row3,30 Row2,20 Row4,40 …


2
iconv不正な入力シーケンス-なぜですか?
テキストファイルをASCIIに変換しようとすると、エラーメッセージが表示されiconv: illegal input sequence at positionます。 私が使用するコマンドは iconv -f UTF-8 -t ascii//TRANSLIT file 問題の文字はæです。 テキストファイル自体はここにあります。 なぜ違法なシーケンスと言うのですか?入力文字は適切なUTF-8文字(U + 00E6)です。

5
文字列置換のための非行指向ツール?
私は最近、改行文字が別の特定の文字の後に発生した場合に改行文字を削除する方法について質問しました。 Unixテキスト処理ツールは非常に強力ですが、それらのほとんどすべてがテキスト行を処理します。これは、ほとんどの場合、入力が使用可能なメモリに収まる場合は問題ありません。 しかし、改行を含まない巨大なファイルのテキストシーケンスを置き換える場合はどうすればよいですか? たとえば置き換える<foobar>と\n<foobar>、入力ライン・バイ・ラインを読まず?(1行しかないため、長さは2.5G文字です)。

3
ファイルを複数の小さなファイルに分割し、改行記号で区切ります
ファイルを改行記号で分割するユーティリティはありますか?たとえば、ファイルに次の行が含まれている場合、 aa bbb cccc 3つのファイルに分割する場合、目的の出力は次のようになります。 aa、bbbおよびcccc(3つの異なるファイルで) 私はすでにsplitコマンドをチェックしました、それはファイルサイズでファイルをカットするだけで、私が望むものではありません。 自分でユーティリティを書いていない場合、使用する標準ツールはありますか?


5
特定の文字列に一致する履歴のコマンドを削除するにはどうすればよいですか?
文字列に一致する履歴内のすべてのコマンドを削除する必要があります。私はもう試した: $ history | grep searchstring | cut -d" " -f2 | history -d -bash: history: -d: option requires an argument $ history | grep searchstring | cut -d" " -f2 | xargs history -d xargs: history: No such file or directory $ temparg() { while read i; do "$@" …

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