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

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

5
/ usr / bin / ptx:ユースケースを1つまたは2つ提供できますか?
coreutilsに含まれているファイルのリストを調べていたところ、ptx以外のすべてのコマンドを個人的に使用する方法の例を思いつくことができました。ptxを使用した1つまたは2つ(または3つ)の例を挙げることができますか?ユースケースが多ければ多いほど良いです。 $ apropos ptx ptx(1) - produce a permuted index of file contents

1
ファイル内のパターンを他のファイルのコンテンツで置き換える
テキストファイル(devel.xml)があります。 この文字列を別のファイル内のコンテンツに置き換えるために、単語REPLACETHISを追加しました(temp.txt)。 私が持っている最も近いものはこれです: sed -i -e "/REPLACETHIS/r temp.TXT" -e "s///" devel.txt; これにより、文字列の後にコンテンツが挿入され、その後文字列が削除されます。 これが最善の方法ですか?

4
長い出力を2列に分割する
スクリプトの1つからの出力を列に並べる簡単なユーティリティまたはスクリプトはありますか?私は何らかの形でデータを持っています: A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag D lseuiorlhisnflkc E sdjklfhnslkdfhn F kjhnakjshddnaskjdh ただし、これが2倍になった場合は、次の形式でデータを記述します(依然として垂直に並べられている場合)。 A aldkhasdfljhaf D lseuiorlhisnflkc B klajsdfhalsdfh E sdjklfhnslkdfhn C salkjsdjkladdag F kjhnakjshddnaskjdh マンページを読んだことから、これがcolumn適切だとは思いませんが、よくわかりません。フォームに分割するのは簡単です: A B C D E F \n2行ごとに印刷するだけです(現在のスクリプトの機能)。何か案は?ありがとう!

6
圧縮された巨大なプレーンテキストファイルを部分的に抽出する方法は?
1.5 GBのサイズのzipファイルがあります。 その内容は1つのばかげた大きなプレーンテキストファイル(60 GB)であり、現在、すべてを抽出するのに十分なディスク領域がディスクに残っていません。 私のユースケースに関しては、コンテンツの一部を検査できれば十分です。 したがって、ファイルをストリームとして解凍し、ファイルの範囲にアクセスします(通常のテキストファイルの先頭と末尾を経由してアクセスできるように)。 メモリ(例:32GBマークから始まる最大100kbを抽出)または行(プレーンテキスト行3700-3900を指定)のいずれかを使用します。 それを達成する方法はありますか?

18
IPアドレスを逆読みする方法は?
この文字列(IPアドレス)がある場合:192.168.1.1 この文字列から(DNS逆レコードフォーム)を取得するにはどうすればよい1.1.168.192.in-addr.arpaですか?シェルスクリプトを使用するように表示されますか?

7
patchとdiffを使用して2つのファイルをマージし、競合を自動的に解決する方法
diffとパッチについて読んだことがありますが、必要なものを適用する方法がわかりません。私はかなり簡単だと思うので、私の問題を示すためにこれらの2つのファイルを取ります: a.xml <resources> <color name="same_in_b">#AAABBB</color> <color name="not_in_b">#AAAAAA</color> <color name="in_b_but_different_val">#AAAAAA</color> <color name="not_in_b_too">#AAAAAA</color> </resources> b.xml <resources> <color name="same_in_b">#AAABBB</color> <color name="in_b_but_different_val">#BBBBBB</color> <color name="not_in_a">#AAAAAA</color> </resources> 次のような出力が必要です(順序は関係ありません)。 <resources> <color name="same_in_b">#AAABBB</color> <color name="not_in_b">#AAAAAA</color> <color name="in_b_but_different_val">#BBBBBB</color> <color name="not_in_b_too">#AAAAAA</color> <color name="not_in_a">#AAAAAA</color> </resources> マージには、次の単純なルールに沿ったすべての行が含まれている必要があります。 ファイルの1つにのみある任意の行 行の名前タグが同じで値が異なる場合、2番目の値を取得します 私はこのタスクをbashスクリプト内に適用したいので、別のプログラムがより適している場合は、diffとパッチを完全に行う必要はありません



6
多くのファイルでコマンドを実行する
多くのファイル(xyz1、xyz2、xyz5025まで)を含むフォルダーがあり、それらのすべてでスクリプトを実行し、xyz1.faa、xyz2.faaなどを出力として取得する必要があります。 単一ファイルのコマンドは次のとおりです。 ./transeq xyz1 xyz1.faa -table 11 それを自動的に行う方法はありますか?たぶん、フォーコンボですか?

7
XMLを解析してbashスクリプトでノード値を取得しますか?
次のパスを使用してノードの値を取得する方法を知りたいです。 config/global/resources/default_setup/connection/host config/global/resources/default_setup/connection/username config/global/resources/default_setup/connection/password config/global/resources/default_setup/connection/dbname 次のXMLから: <?xml version="1.0"?> <config> <global> <install> <date><![CDATA[Tue, 11 Dec 2012 12:31:25 +0000]]></date> </install> <crypt> <key><![CDATA[70e75d7969b900b696785f2f81ecb430]]></key> </crypt> <disable_local_modules>false</disable_local_modules> <resources> <db> <table_prefix><![CDATA[]]></table_prefix> </db> <default_setup> <connection> <host><![CDATA[localhost]]></host> <username><![CDATA[root]]></username> <password><![CDATA[pass123]]></password> <dbname><![CDATA[testdb]]></dbname> <initStatements><![CDATA[SET NAMES utf8]]></initStatements> <model><![CDATA[mysql4]]></model> <type><![CDATA[pdo_mysql]]></type> <pdoType><![CDATA[]]></pdoType> <active>1</active> </connection> </default_setup> </resources> <session_save><![CDATA[files]]></session_save> </global> <admin> <routers> <adminhtml> <args> <frontName><![CDATA[admin]]></frontName> </args> …

5
SED正規表現との貪欲でない一致(perlの。*?をエミュレート)
を使用sedして、文字列内の最初ABと最初のAC(包括的)の間にあるものをに置き換えXXXます。 以下の場合の例、私はこの文字列を持っている(この文字列はテスト用です): ssABteAstACABnnACss そして、次のような出力が欲しいです:ssXXXABnnACss。 私はこれをしましたperl: $ echo 'ssABteAstACABnnACss' | perl -pe 's/AB.*?AC/XXX/' ssXXXABnnACss しかし、私はそれを実装したいと思いsedます。以下(Perl互換の正規表現を使用)は機能しません。 $ echo 'ssABteAstACABnnACss' | sed -re 's/AB.*?AC/XXX/' ssXXXss


3
メイクファイルで指定された依存関係をツリーとして表示する方法は?
問題 メイクファイルの1つ以上のターゲットの依存関係を確認したい。そこで、メイクファイルを解析し、ツリーのような形式(インデント、ascii-art)、またはグラフ(ドット、...)で依存関係を表すことができるプログラムを探しています。 似ている 他の状況でこれを行うプログラムがあります。 pactreeまたはdebtreeは、ascii形式などのツリーの各形式またはdotグラフとしてソフトウェアパッケージの依存関係を表示できます。 gcc -M source_file.c Cソースファイルの依存関係をmakeルールとして表示します。 pstreeは、プロセスツリーのASCII表現を表示します。 進捗 ウェブを検索してもほとんど助けはありませんでした。それは私を試してみるように導いた make --always-make --silent --dry-run some_target | \ grep --extended-regexp 'Considering target file|Trying rule prerequisite' しかし、これを素敵なツリー/グラフとして表現するには、perlまたはpythonでさらに解析コードをハッキングする必要があるようです。そして、この方法で完全で正しいグラフを本当に取得できるかどうかはまだわかりません。 必要条件 いくつかの方法でグラフを制限するのは良いことです(組み込みルールなし、特定のターゲットのみ、深さのみ) -表示可能な形式(「類似」の下のプログラムのように)。 ご質問 これを行うことができるプログラムはありますか? 完全で正しい情報を入手できmake -dnq ...ますか? この情報を取得するより良い方法はありますか? この情報を解析するためのスクリプト/試行はすでに存在しますか?

9
最初の行を除いて、ファイルから余分なヘッダー行を削除します
このおもちゃの例のようなファイルがあります。実際のファイルには400万行ありますが、そのうち約10行を削除する必要があります。 ID Data1 Data2 1 100 100 2 100 200 3 200 100 ID Data1 Data2 4 100 100 ID Data1 Data2 5 200 200 最初の行を除いて、ヘッダーのように見える行を削除します。 最終ファイル: ID Data1 Data2 1 100 100 2 100 200 3 200 100 4 100 100 5 200 200 これどうやってするの?

3
awk、sedを使用して特定のパターンを持つ行の一部を抽出する
awk / sed演算子に関して質問があります。次の一連の行が繰り返される大きなファイルがあります Expression loweWallrhoPhi : sum=-6.97168e-09 Expression leftWallrhoPhi : sum=6.97168e-09 Expression lowerWallPhi : sum=-5.12623e-12 Expression leftWallPhi : sum=5.12623e-12 Expression loweWallrhoUSf : sum=-6.936e-09 Expression leftWallrhoUSf : sum=6.97169e-09 Expression lowerWallUSf : sum=-5.1e-12 Expression leftWallUSf : sum=5.12624e-12 それぞれの場合の合計後の値を個別のファイルに抽出したい。一度に行うことは可能ですか?

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