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

プレーンテキストファイルの変更、作成、または解析に関する質問。これは非常に広範なタグです。特定のツールの使用に関する質問の場合は、ツールの名前(sed、awk、perlなど)もタグ付けしてください。


6
ファイルからランダムにテキストを置き換える方法は?
あるテキストファイルの特定の文字列をランダムに別のファイルの文字列に置き換えるにはどうすればよいですか?例えば: file1.txt(file has more than 200 lines): moonwalker@address.com hansolo@address.com anakinskywalker@address.com obiwankenobi@address.com darthvader@address.com file2.txt(file has 10-20 lines): @adress1.com @adress2.com @adress3.com @adress4.com @adress5.com output.txt: moonwalker@address4.com hansolo@address1.com anakinskywalker@address5.com obiwankenobi@address2.com darthvader@address3.com

4
別のファイルにないIDを1つのファイルで検索する
2つのファイルがあります。 abc.txt abcd xyz pqrs mno.txt zzon mkno abcd ファイルmno.txtに「abcd」があるかどうかを確認したい。 「abcd」がabc.txtの最初にある場合は、最初にmno.txtにもある必要はありません。 両方のファイルに数千のそのようなIDがあります。 また、abc.txtにあるmno.txtにないIDの数も確認したいと思います。 これどうやってするの ?

1
2つのファイルを比較して同じ文字列をgrepする方法
ファイルAとファイルBの2つのファイルがあります。 ファイルAにはすべての情報が含まれていますが、ファイルBには一意の情報IDが含まれています。私がしたいことは、両方のファイルを比較し、ファイルAのID情報をgrepすることです ファイルA: acb:A1S_1863 ncbi-proteinid:ABO12290 acb:A1S_1864 ncbi-proteinid:ABO12291 acb:A1S_1865 ncbi-proteinid:ABO12292 acb:A1S_0105 ncbi-proteinid:ABO10592 acb:A1S_0106 ncbi-proteinid:ABO10593 ファイルB: A1S_1865 A1S_1774 A1S_1116 A1S_0106 A1S_2677 望ましい出力: acb:A1S_1865 ncbi-proteinid:ABO12292 acb:A1S_0106 ncbi-proteinid:ABO10593

3
sedのドット(。)の置換
だから実際の質問は-誰かがM-BM-他のキャラクターを失う危険を冒すことなく特別なキャラクターを削除する方法を知っていますか? テキストの文字列があります: " . . ." あれは space dot space dot space dot 私はテキストファイル内のこの文字列のすべての出現を置き換えようとしています "..." あれは dot dot dot 私はsedでやろうとしていました: sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots 残念ながら、それは少しでも入力ファイルを変更しません。ファイル:https : //www.dropbox.com/s/46zmiruy3ln85a1/sed-dots テキストエディター(geanyを使用)で同じ文字列を置換しようとすると、適切に検出および置換されます。 私が考えることができる唯一の理由は、それらのスペースの一部(またはすべて)が実際にはスペースではなく、いくつかの特殊文字であることです。 その文字列を検索してsed(または他のコマンドラインツール)で置き換える方法を知っている人はいますか?私のファイルであなたのアイデアをテストしてください。問題は明らかなように明らかではないためです-これが私が質問した理由です。 cat -Amyfile を使用した後、それらのスペースがスペースではなくM-BM-特殊文字であることが問題のようです。.他の一部の文字が削除されるリスクがあるため、検索用に提案された記号を使用することはお勧めできません。


5
bashを使用してパス文字列の1つの要素を取得する
次のコマンドを実行して読み取るファイルパスを含むASCIIファイルがあります。 while read p; do echo $p; done < filelist.txt ファイルには、次のパターンのファイルパスが含まれています。 ./first/example1/path ./second/example1/path ./third/example2/path パス文字列の特定の部分(from /から/)を取得するにはどうすればよいですか。たとえば、次のような出力を取得する必要があります。 first second third そしてまた example1 example1 example2 正規表現とを使用してこれを行う方法は確かにありますが、sed私はそれに慣れていません。

6
'/'文字を含むtxtファイルから名前を付けてディレクトリを作成する
このようなテキストを含む.txtファイルがあります A1/B1/C1 A2/B2/C2 A3/B3/C3 各行の.txtファイルを読み取り、最初の単語(A1、A2、A3)に基づいてディレクトリを作成するスクリプトが必要です 私はこのようなスクリプトを作成しました: file="test.txt" while IFS='' read -r line do name="line" mkdir -p $line done <"$file" 私がそれを実行している間、それはディレクトリA1を作成し、次にサブディレクトリB1とC1も作成します。同じことが別の行(A2 *およびA3 *)でも起こります A1、A2、A3ディレクトリのみを作成するにはどうすればよいですか? 「/」文字を含むA1 / B1 / C1のような名前を作りたくありません。「/」文字の前の単語を取り、それをディレクトリ名にしたいだけです。「A1」「A2」「A3」だけです。

2
grep出力を短い行に制限する
私はしばしば次のような特定のエントリを持つファイルを見つけるためにgrepを使用します: grep -R 'MyClassName' 良い点は、ファイルとその内容を返し、見つかった文字列を赤でマークすることです。悪い点は、テキスト全体が1つの大きな1行で記述されている巨大なファイルもあることです。これらの大きなファイル内でテキストを検索すると、grepが出力しすぎます。出力を例えば左と右に5ワードに制限する方法はありますか?または、出力を左と右に30文字に制限しますか?

4
同じテキストファイル内の異なる行に表示される複数のビットの情報を抽出する方法
同じテキストファイル内の異なる行にあるシーケンスIDとクラスター番号を抽出しようとしています。 入力は次のようになります >Cluster 72 0 319aa, >O311_01007... * >Cluster 73 0 318aa, >1494_00753... * 1 318aa, >1621_00002... at 99.69% 2 318aa, >1622_00575... at 99.37% 3 318aa, >1633_00422... at 99.37% 4 318aa, >O136_00307... at 99.69% >Cluster 74 0 318aa, >O139_01028... * 1 318aa, >O142_00961... at 99.69% >Cluster 75 0 318aa, >O300_00856... …

1
ワイヤレス信号のレベルと周波数を監視してcsv形式で記録するにはどうすればよいですか?
コマンドをiw dev wlan0 link毎秒継続的に実行し、出力をcsvファイルに保存したい。 次のコマンドを使用しています。 while sleep 1; do iw dev wlan0 link | grep 'freq:\|signal' | awk '{printf "%s ", $2, $3}' >> log.csv done ただし、出力はlog.csv次の方法で保存されます。 2412 -41 2412 -42 2412 -45 2412 -43 2つのフィールドをカンマで区切って(MS Excelなどのエディターで別の列に表示されるように)出力を保存し、それぞれを新しい行に入れたいのですが。log.csv(あなたは、彼らが唯一の説明のためのもので、ラベルを無視することができます)このように見えるもの: Signal Frequency -41 2412 -42 2412 -45 2412 -43 2412


5
speedtest-cliの結果をトリミングして、ダウンロード速度のみを出力する方法は?
speedtestのダウンロード速度の結果をindicator-sysmonitorに定期的に表示したいのですが。 実行した場合、speedtest-cliの出力は多少調整されます $ speedtest-cli --simple Ping: 50.808 ms Download: 10.87 Mbit/s Upload: 4.47 Mbit/s ダウンロード速度の数値まで、出力をさらにトリミングする方法はありますか?

2
ファイルを調べ、特定の行からテキストを印刷する
保存したデータを含むファイルがあります。次に、結果を新しいファイルに出力します。 たとえば、次の例を見てみましょうrandomlog.log。 Link encap:Ethernet HWaddr 08:00:00:00:00:67 inet addr:10.10.10.10 Bcast:10.10.10.10 Mask:255.255.255.0 inet6 addr: fe80::casf:sdfg:23ra:dg12/64 Scope:Link 1行目の12〜20文字目から、3行目の4〜8文字目のデータのみを取得するにはどうすればよいですか。出力は次のようになります。 Ethernet t6 ad これは可能ですか?線と位置からこの位置に設定したい。

7
awk印刷コマンドで並べ替えを使用する方法
私が書いているawkスクリプトにいくつかのコマンドがあります: print "Here are some players and their numbers, sorted by last name" if(sum[x] > 500) {print x, $2} どの出力: Here are some players and their numbers, sorted by last name Lebron James 23 Kevin Durant 35 Kobe Bryant 24 Blake Griffin 32 Dikembe Mutumbo 55 awkスクリプトでこのsortコマンドを使用して、プレーヤーとその番号のみを並べ替える方法を教えてください。

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