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

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

5
一致がn回出現した後の行を出力する
次のファイルの4598行目を表示しようとしています。事実上、一致がn回出現した後に行を表示したい。この場合、の3番目の出現後の行<Car>。これについてどうすればよいですか? <Car> 10456 </Car> <Car> 70192 </Car> <Car> 4598 </Car>

6
ファイル内の段落の順序を逆にする
段落内のテキスト(テキストが1つ以上の空行で区切られている行)を含むファイルがあります。できればsedを使用して、段落の順序を逆にしたい(つまり、最後の段落が最初になる...)。 私は、段落のファイルに対して行われるsedコマンドtac、行のファイルに対して行われるものを探しています。

4
csvをHTMLテーブルに変換
Medical.csv次の形式の行を含むファイルがあります。 field: 'participation.type', displayName: 'program_type', type: 'String',path:'participation' field: 'participation.program', displayName: 'program_name', type: 'String',path:'participation' 私が書きたいbashスクリプトを持つHTMLテーブルに変換しfield、displayNameかつtype動的ヘッダーなど。 Csv2HtmlConverter.sh(で答えに触発使用してHTMLテーブルに変換するCSV形式)であります echo "<table>" ; while read INPUT ; do echo "<tr><td>${INPUT//,/</td><td>}</td></tr>" ; done < Medical.csv ; echo "</table>" 上記のスクリプトの結果は以下のようになりますが、ある程度は問題ありませんが<th>field</th>、<th>displayName</th>動的にを追加したいと思います。 <table> <tr><td>field: 'participation.type'</td><td> displayName: 'program_type'</td><td> type: 'String'</td><td>path:'participation'</td></tr> <tr><td>field: 'participation.program'</td><td> displayName: 'program_name'</td><td> type: 'String'</td><td>path:'participation'</td></tr> </table>

3
1行から区切り文字なしの固定幅レコードを抽出する
区切り文字のない非常に長い1行のテキストを含む単一のファイルからテキストの文字列を抽出する必要があります。以下のサンプル行を使用すると、これらは以下の既知の事実です。 ??????? A1XXXXXXXXXX ??????? B1XXXX ?????? A1XXXXXXXXXX ?????? C1XXXXXXX 1. It contains 38 fixed width record types 2. The record marker is a 7 alphanumeric character followed by, for example, ‘A1’. 3. Each record type has varying widths, for example, A1 record type will have 10 characters following it, if …

2
2番目と3番目のファイルのヘッダーを除外して、3つのファイルを1つのマスターファイルにマージします
以下に示すように、n行の3つのファイルがあります sample1.txt ------------------------------ Date Time Name ------------------------------ 2013/10/12 12:09:09 Krish 2013/10/12 13:12:01 Ramb 2013/10/12 15:28:39 Likha 2013/10/12 15:56:12 Mat . . . Sample2.txt ------------------------------ Date Time Name ------------------------------ 2013/10/12 11:19:21 Jack 2013/10/12 12:11:09 Rob 2013/10/12 15:45:12 Rick 2013/10/12 22:11:10 Phil . . . Sample3.txt ------------------------------ Date Time Name ------------------------------ 2013/10/12 …

2
試合と試合の前の1行をgrep
zzzzzzzzz aaaaaaaaa bbbbbbbbb & ccccccccc & ddddddddd hhhhhhhhh eeeeeeeee fffffffff & ggggggggg & 上記の行で、私が欲しいのはgrep/ sed/ awk(どのメソッドでもかまいません)&記号とその上に1行追加された行です。たとえば、必要な出力は次のようになります。 aaaaaaaaa bbbbbbbbb & ccccccccc & eeeeeeeee fffffffff & ggggggggg & 以下は私が運なしで試したことです。 egrep "&" | -b 1 file.txt


2
Bashを使用してバイナリファイルで2バイトを検索し、それらの値を増やして置き換えるにはどうすればよいですか?
バイナリファイル内の2バイトを見つけて、それらの2バイトの値を増やし、ファイル内で置き換えようとしています。これらの2バイトは、位置0x82-0x83にあります。今のところ、これを使用してこれらの2バイトを正常に抽出しました。 #!/usr/bin/env bash BYTES=$(tail -c +131 "$1" | head -c 2) これらのバイトには値があります1B 1F。私は立ち往生しています: バイトを整数に変換する方法は?694310進数でなければなりません。 バイナリデータをファイルに追加/エコーする方法 ファイル内の増加したバイトを位置0x82-0x83に書き込む方法。を使用することもできますがhead -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin、もっと良い方法があるはずです。 私はそれをPHPで行うことができますが、もっと簡単になるはずですが、bashでこれを行う方法に興味があります。

5
連続する段落のグループ化されたソート(空白行で区切られています)?
私は今、列によるソートの経験がかなりあると思います。ただし、これまでのところ、連続する行を並べ替える方法は見つかりませんでした。 次のようなテキストファイルがあるとします:(もちろん非常に簡略化されています) Echo Alpha Delta Charlie Golf Bravo Hotel Foxtrot さて、各ブロックごとにアルファベット順に行をソートすることは可能ですか?つまり、結果は次のようになります。 Alpha Charlie Delta Echo Bravo Foxtrot Golf Hotel sortmanページで見つけたものから言うと、これは組み込みのUNIX sortコマンドでは不可能かもしれません。それとも、外部/サードパーティのツールに頼ることなく実行できますか?

2
bash:出力の2列目をカラー化
たとえば、lsから次の出力があるとします。 $ ls -lAhF /bin -rwxr-xr-x 1 root root 905K Apr 10 2010 bash* -rwxr-xr-x 3 root root 31K Dec 26 2011 bunzip2* -rwxr-xr-x 1 root root 505K Nov 15 2010 busybox* -rwxr-xr-x 3 root root 31K Dec 26 2011 bzcat* lrwxrwxrwx 1 root root 6 Jun 24 2012 bzcmp …

4
SEDまたはAWKを使用して、テンプレートファイルのプレースホルダーを、特殊文字を含む可変コンテンツに置き換えるにはどうすればよいですか?
CentOS 6.3 (内部レポートの目的で)本文に電子メールヘッダーのコピーを含む電子メールを送信する小さなスクリプトを取得しようとしています。 テンプレートファイルには以下が含まれます。 Alert Report Alert has triggered at TMPDATE HEADERS ------- TMPHEADERS SOURCE IP --------- TMPSOURCEIP スクリプトで「TMP」プレースホルダーを見つけて、アラートに関連する実際の情報に置き換えたい。 日付およびソースIP変数は正常に機能しているようですが、TMPHEADERSを検索または置換しようとすると、出力全体が空白になるなど、奇妙な症状が発生します。多くの特殊文字(@%&など)を含むヘッダーに関係していることは、かなり確実です。 誰かがこれをbash経由で達成するための最善の方法についてアドバイスできますか? 私の現在のコードは次のようになります: cat /test/emailtemplate | sed s/TMPHEADERS/"$HEADERS"/ > /test/output 更新 リクエストに応じて、テンプレートファイルに挿入しようとしている一連のヘッダーの例を次に示します(無害なIPアドレスを保護するためにIPアドレスと電子メールアドレスが変更されました:-))。 From foo@yahoo.com Thu Apr 25 20:18:19 2013 Return-Path: <foo@yahoo.com> Received: from nm30-vm0.bullet.mail.ne1.yahoo.com (nm30-vm0.bullet.mail.ne1.yahoo.com [98.138.11.36]) by serv.example.com (8.14.4/8.14.4) with ESMTP …

5
コマンドラインからすべての行の最初と最後の文字を削除する
テキストファイルのすべての行の最初と最後の文字を削除して、切り捨てられたバージョンを新しいファイルに保存しようとしています。awk特に誰かが大きなファイルのために効率的に使用したり、他のLinuxプログラム/コマンドを実行したりする方法について誰かが知っていますか? input.txt (s,2,4,5,6) "s,1,5,5,2" {z,0,4,5,3} [y,2,4,5,5] (y,4,4,5,7) (r,20,4,5,7) (e,9,4,5,2) 予想されるoutput.txt s,2,4,5,6 s,1,5,5,2 z,0,4,5,3 y,2,4,5,5 y,4,4,5,79 r,20,4,5,7 e,9,4,5,2

7
.texファイルの変更を確認する
私には2つのファイルがpaper.texありpaper_suggested_changes.tex、後者は前者を修正したバージョンです。 2つのファイルを調べ、どの変更を受け入れるか拒否するかを選択する必要があります。これをどのように実行しますか?

7
パターンの最初と最後の出現の間のすべての行を取得するにはどうすればよいですか?
最初に出現するパターンfooから最後に出現するパターンまでの範囲の行のみを取得するように、ファイル(適切な入力ストリーム)をトリミングするにはどうすればよいbarですか? たとえば、次の入力を考えます。 A line like foo this foo bar something something else foo bar and the rest 私はこの出力を期待します: foo this foo bar something something else foo bar

2
2つのファイルを結合するためのシェルスクリプト
shell script2つのファイルAとを取得するを記述して、次のBような結果を取得します。 ファイルA: user_a tel_a addr_a user_b tel_b addr_b ファイルB: process_1 user_a process_2 user_a process_3 user_b そしてその結果: user_a process_1 tel_a addr_a user_a process_2 tel_a addr_a user_b process_3 tel_b addr_b これどうやってするの?awkまたは、他の何か?

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