最新記事

jq:複数の配列の複数の値を一度に印刷する
text-processing
jq

jq:複数の配列の複数の値を一度に印刷する

の基本的な機能は、jq配列内の各オブジェクトを一度に1つずつ送信することです。ただし、join演​​算子は値を結合できます。私の問題は、複数の配列のすべての値を一度に印刷しようとしていることです。次の例を見てください。 { "key1": { "list1": [ "val1", "val2", "val3" ] }, "key2": { "list1": [ "val4", "val5" ] }, "key3": { "list1": [ "val6" ] } } 印刷したい: val1 val2 val3 val4 val5 val6 これまで: jq -r 'to_entries[] | { list: .value.list1 } | .list | join(" ")' test.json (レビューアを助けるには長すぎます。) これは作る: val1 val2 val3 val4 val5 val6 1つのコマンドですべての値をまとめて収集する方法はありますか?

Admin

file1の一致する文字列をfile2の他の文字列に置き換える方法
bash
text-processing

file1の一致する文字列をfile2の他の文字列に置き換える方法

私は最近bashを使い始めましたが、通常は手動で実行する必要があるいくつかのタスクを自動化するためにいくつかのスクリプトを書くことを望む分子生物学者です。 以下のように2つのファイル(rev.fastaおよび)があります。index_rev.fasta $ head rev.fasta >1 bc-1 >2 bc-1 >3 bc-1 >4 bc-1 >5 bc-1 $ head necessary_files/index_rev.fasta >rev-bc-1 TGTGTTGAGACCACACAGGCCTCAGTCTCGTGGGCTCGG >rev-bc-2 GTCTGTCGCCATGGAAAGTCAACTGTCTCGTGGGCTCGG >rev-bc-3 TTGCTACGGTTGACCATGCAGTTAGTCTCGTGGGCTCGG >rev-bc-4 AACTTGAGGTATCGTATATTCAATGTCTCGTGGGCTCGG >rev-bc-5 GCAGGTGGGCATCCGGACCGATATGTCTCGTGGGCTCGG bashコマンドを書きたい rev.fasta類似またはsed 's/>rev-//g' necessary_files/index_rev.fasta類似の一致grep (たとえば)bc-.*$で見つかった一致を(たとえば)ファイルの次の行に置き換えます。rev.fastabc-1necessary_files/index_rev.fastaTGTGTTGAGACCACACAGGCCTCAGTCTCGTGGGCTCGGbc-1 結果は次のとおりです。 >1 TGTGTTGAGACCACACAGGCCTCAGTCTCGTGGGCTCGG >2 TGTGTTGAGACCACACAGGCCTCAGTCTCGTGGGCTCGG >3 TGTGTTGAGACCACACAGGCCTCAGTCTCGTGGGCTCGG メモ: 重要な情報のいくつか:始めbc-から116 どうすればいいのかわかりません。私はいくつか試してみましたが、これは私ができることよりも複雑です。どんなアイデアがありますか?

Admin

JSONで値を確認し、jqを使用して他のキーを変更するには?
text-processing
json
jq

JSONで値を確認し、jqを使用して他のキーを変更するには?

[ { "name": "user1", "status": "off" }, { "name": "user2", "status": "off" }, { "name": "user3", "status": "on" } ] statusたとえば、JSONファイルから値を再帰的に取得し、状態のあるすべての値を取得offする方法を知りたいと思います。nameoff user1また、合計user2値をどのように変更しますかon? 私はとjqを使用していますbash。

Admin

「スタートモード」 - 「ストップモード」ペアが最初に発生した後にテキストを印刷するにはどうすればよいですか?
text-processing
awk
sed

「スタートモード」 - 「ストップモード」ペアが最初に発生した後にテキストを印刷するにはどうすればよいですか?

複数の証明書を含むファイルがあります。 -----BEGIN CERTIFICATE----- AAAAAAA AAAAAAA AAAAAAA -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- BBBBBBB BBBBBBB BBBBBBB -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- CCCCCCC CCCCCCC CCCCCCC -----END CERTIFICATE----- AB C中に文字があるのをカットしてただ…n証明書だけを受けたいです。 それは非常に似ていますこの問題これを行うためのポータブルな方法があればと思います。sed可能であれば一緒に使用することをお勧めしますが、awk不可能な場合は使用可能ですsed。 最初の出現以外の特定の値までsedを印刷する方法はありますか?

Admin

1行の平均単語数を計算する方法は? [閉鎖]
bash
shell-script
text-processing

1行の平均単語数を計算する方法は? [閉鎖]

閉鎖。この質問はもう少し尋ねる必要があります集中。現時点では回答は許可されていません。 この質問を改善したいですか?1つの問題にのみ焦点を当てるように質問を更新してください。この記事を編集してください。 閉鎖2年前。 この問題を改善する 1行に1つの文を保存するテキストファイルがありますが、1つの文(ファイルの1行)に平均して何単語があるのか​​を知りたいです。どうすればいいですか? また、このファイルの一意の単語数と2つのファイルの共通の一意の単語数をどのように計算しますか? 事前にありがとう

Admin

同じ行の別の awk 区切り記号
text-processing
awk

同じ行の別の awk 区切り記号

3つの熱を分けたいです。最初の列には、単一の数字4、5、または6が含まれています。 2番目の列にはIDが含まれ、3番目の列には説明が含まれています。 入力例: %ASA-4-105505: (Primary|Secondary) Failed to connect to peer unit peer-ip:port %ASA-4-105524: (Primary|Secondary) Transitioning to Negotiating state due to the presence of another Active HA unit %ASA-4-105553: (Primary|Secondary) Detected another Active HA unit %ASA-4-106023: Deny protocol src [interface_name:source_address/source_port] [([idfw_user|FQDN_string], sg_info)] dst interface_name:dest_address/dest_port [([idfw_user|FQDN_string], sg_info)] [type {string}, code {code}] by access_group acl_ID [0x8ed66b60, 0xf8852875] %ASA-4-106027: Deny src [source address] dst [destination address] by access-group “access-list name”. %ASA-4-106103: access-list acl_ID denied protocol for user username interface_name/source_address source_port interface_name/dest_address dest_port hit-cnt number first hit hash codes %ASA-4-108004: action_class: action ESMTP req_resp from src_ifc:sip|sport to dest_ifc:dip|dport;further_info, page 1-23 %ASA-4-109017: User at IP_address exceeded auth proxy connection limit (max) %ASA-4-109022: exceeded HTTPS proxy process limit %ASA-4-109027: [aaa protocol] Unable to decipher response message Server = server_IP_address, User = user %ASA-4-109028: aaa bypassed for same-security traffic from ingress_ interface:source_address/source_port to egress_interface:dest_address/dest_port %ASA-4-109030: Autodetect ACL convert wildcard did not convert ACL access_list source | dest netmask netmask. 予想出力: 4 105505 (Primary|Secondary) Failed to connect to peer unit peer-ip:port 4 105524 (Primary|Secondary) Transitioning to Negotiating state due to the presence of another Active HA unit 4 105553 (Primary|Secondary) Detected another Active HA unit 4 106023 Deny protocol src [interface_name:source_address/source_port] [([idfw_user|FQDN_string], sg_info)] dst interface_name:dest_address/dest_port [([idfw_user|FQDN_string], sg_info)] [type {string}, code {code}] by access_group acl_ID [0x8ed66b60, 0xf8852875] 4 106027 Deny src [source address] dst [destination address] by access-group “access-list name”. 4 106103 access-list acl_ID denied protocol for user username interface_name/source_address source_port interface_name/dest_address dest_port hit-cnt number first hit hash codes 4 108004 action_class: action ESMTP req_resp from src_ifc:sip|sport to dest_ifc:dip|dport;further_info, page 1-23 4 109017 User at IP_address exceeded auth proxy connection limit (max) 4 109022 exceeded HTTPS proxy process limit 4 109027 [aaa protocol] Unable to decipher response message Server = server_IP_address, User = user 4 109028 aaa bypassed for same-security traffic from ingress_ interface:source_address/source_port to egress_interface:dest_address/dest_port 4 109030 Autodetect ACL convert wildcard did not convert ACL access_list source | dest netmask netmask. 2番目と3番目の列を抽出できますが、cat rawSyslog.txt | awk -F '[-:]' '{print $2 "\t" $3}'最後の列には出力フィールドを混乱させる特殊文字がたくさんあります。最後の列を抽出する方法は?

Admin

ファイルから特定の文字列を含む行を抽出する[閉じる]
text-processing

ファイルから特定の文字列を含む行を抽出する[閉じる]

閉鎖。この質問には詳細または明確性。現時点では回答は許可されていません。 この質問を改善したいですか?詳細を追加して質問を明確にしてください。この記事を編集してください。 閉鎖2年前。 この問題を再開するためのコミュニティレビュー2年前閉じてください。 もともと閉鎖理由は解決されませんでした。 この問題を改善する コピーしたら cp file.txt /home/user/file2.txt ERROR私はちょうどから行を取得file.txtし、ファイルに入れたいと思いますfile2.txt。どうすればいいですか?

Admin

テキストファイルを特定の名前とコンテンツを持つ複数のテキストファイルに分割するには?
text-processing

テキストファイルを特定の名前とコンテンツを持つ複数のテキストファイルに分割するには?

file.txtこのスタイルに従うコンテンツがあります。 Target 99C - HJ Shove vs CO + SB SQ [0.02]JdJh, JsJh, JcJh, JsJd, JcJd, JcJs, AhKh, AdKd, AsKs, AcKc[/0.02], [30.30]KdKh, KsKh, KcKh, KsKd, KcKd, KcKs[/30.30], [31.52]QdQh, QsQh, QcQh, QsQd, QcQd, QcQs[/31.52], [61.57]AdKh, AsKh, AcKh, AhKd, AsKd, AcKd, AhKs, AdKs, AcKs, AhKc, AdKc, AsKc[/61.57] Target 100A - HJ Call vs BU + SB SQ [0.01]Ah5h, Ad5d, As5s, Ac5c[/0.01], [0.06]KhTh, KdTd, KsTs, KcTc[/0.06], [0.13]JhTh, JdTd, JsTs, JcTc[/0.13], [0.43]AdAh, AsAh, AcAh, AsAd, AcAd, AcAs[/0.43], [0.59]7d7h, 7s7h, 7c7h, 7s7d, 7c7d, 7c7s[/0.59], [0.77]AhJh, AdJd, AsJs, AcJc[/0.77], [2.44]5d5h, 5s5h, 5c5h, 5s5d, 5c5d, 5c5s[/2.44], [7.06]6h5h, 6d5d, 6s5s, 6c5c[/7.06], [7.21]QdQh, QsQh, QcQh, QsQd, QcQd, QcQs[/7.21], [7.52]5h4h, 5d4d, 5s4s, 5c4c[/7.52], [8.69]KhJh, KdJd, KsJs, KcJc[/8.69], [9.89]6d6h, 6s6h, 6c6h, 6s6d, 6c6d, 6c6s[/9.89], [11.61]8d8h, 8s8h, 8c8h, 8s8d, 8c8d, 8c8s[/11.61], [11.73]9d9h, 9s9h, 9c9h, 9s9d, 9c9d, 9c9s[/11.73], [18.21]JdJh, JsJh, JcJh, JsJd, JcJd, JcJs[/18.21], [24.60]TdTh, TsTh, TcTh, TsTd, TcTd, TcTs[/24.60], [29.64]KhQh, KdQd, KsQs, KcQc[/29.64], AhQh, AdQd, AsQs, AcQc Target 100B - HJ 4B to 29bb vs BU + SB SQ [0.07]Ah6h, Ad6d, As6s, Ac6c[/0.07], [0.24]AhTh, AdTd, AsTs, AcTc[/0.24], [5.89]TdTh, TsTh, TcTh, TsTd, TcTd, TcTs[/5.89], [7.59]Kh9h, Kd9d, Ks9s, Kc9c[/7.59], [10.18]Ah3h, Ad3d, As3s, Ac3c[/10.18], [12.39]AdQh, AsQh, AcQh, AhQd, AsQd, AcQd, AhQs, AdQs, AcQs, AhQc, AdQc, AsQc[/12.39], [22.67]Kh7h, Kd7d, Ks7s, Kc7c[/22.67], [25.08]Kh6h, Kd6d, Ks6s, Kc6c[/25.08], [25.74]Kh8h, Kd8d, Ks8s, Kc8c[/25.74], [28.31]KhTh, KdTd, KsTs, KcTc[/28.31], [48.85]AdKh, AsKh, AcKh, AhKd, AsKd, AcKd, AhKs, AdKs, AcKs, AhKc, AdKc, AsKc[/48.85], [49.25]Ah5h, Ad5d, As5s, Ac5c[/49.25], [55.40]QdQh, QsQh, QcQh, QsQd, QcQd, QcQs[/55.40], [61.48]JdJh, JsJh, JcJh, JsJd, JcJd, JcJs[/61.48], [91.31]KhJh, KdJd, KsJs, KcJc[/91.31], [96.32]AhJh, AdJd, AsJs, AcJc[/96.32], [99.57]AdAh, AsAh, AcAh, AsAd, AcAd, AcAs[/99.57], [99.89]AhKh, AdKd, AsKs, AcKc[/99.89], [99.99]KdKh, KsKh, KcKh, KsKd, KcKd, KcKs[/99.99] Target 100C - HJ Shove vs BU + SB SQ [0.01]KdKh, KsKh, KcKh, KsKd, KcKd, KcKs[/0.01], [0.11]AhKh, AdKd, AsKs, AcKc[/0.11], [20.31]JdJh, JsJh, JcJh, JsJd, JcJd, JcJs[/20.31], [37.39]QdQh, QsQh, QcQh, QsQd, QcQd, QcQs[/37.39], [51.15]AdKh, AsKh, AcKh, AhKd, AsKd, AcKd, AhKs, AdKs, AcKs, AhKc, AdKc, AsKc[/51.15] Target 101A - HJ Call vs CO + BU SQ [0.08]5h4h, 5d4d, 5s4s, 5c4c[/0.08], [0.13]6h5h, 6d5d, 6s5s, 6c5c[/0.13], [0.56]TdTh, TsTh, TcTh, TsTd, TcTd, TcTs[/0.56], [0.71]QdQh, QsQh, QcQh, QsQd, QcQd, QcQs[/0.71], [1.75]8d8h, 8s8h, 8c8h, 8s8d, 8c8d, 8c8s[/1.75], [2.18]7d7h, 7s7h, 7c7h, 7s7d, 7c7d, 7c7s[/2.18], [3.68]9d9h, 9s9h, 9c9h, 9s9d, 9c9d, 9c9s[/3.68], [5.68]KhQh, KdQd, KsQs, KcQc[/5.68], [10.56]JdJh, JsJh, JcJh, JsJd, JcJd, JcJs[/10.56], [17.73]AhQh, AdQd, AsQs, AcQc[/17.73] ファイルは一定期間持続し、合計300の「ターゲット」を含みます。このファイルを〜300個のファイルに分割したいので、「[0.08]」から「[/17.73]」まですべての内容を含む「HJ Call vs CO + BU SQ.txt」というファイルがあります。 私はcsplitの使用を検討しましたが、名前を変更できないと確信しているので動作しません。 grep&teeを考えていますが、再びそれが正しいアプローチであるかどうかはわかりません。この問題に対する簡単な解決策を知っている人はいますか? 私はWSL(Linux用Windowsサブシステム)を使用しています。 ありがとうございます!

Admin

一致データを確認し、一致を累積して正しいかどうかを確認できますか?
text-processing
awk

一致データを確認し、一致を累積して正しいかどうかを確認できますか?

こんにちは。現在私がリストしているデータは、顧客ID、名前、姓、性別、支出金額です。 REDACTED awkでこのデータファイルを繰り返し、顧客ID $ 1に一致するものがあることを確認し、一致するものがある場合は購入した番号を追加するにはどうすればよいですか? 最良の推測は、前の行と次の行を確認し、小さな比較を実行することです。ただし、これは特に大量のデータを処理すると遅くなり、これを行う方法を理解していません。 awk 'BEGIN { if (array[$0] == array[$1]) #match #combine the two and add the purchase {print sum+=$5} } else {print} }' < infile > outfile 期待される出力 REDACTED

Admin

シェルスクリプトから時間範囲のテキスト表現を変換する
bash
text-processing

シェルスクリプトから時間範囲のテキスト表現を変換する

次の形式で時間を出力するプログラムがあります。 2s576039936ns 次の形式に変換する必要があります。 2.576039936 シェルスクリプトでこれをどのように実行できますか? 修正する:このnsセクションは9桁の数字で埋められないので、2s513nsこのような出力が出る可能性があるので2.000000513。

Admin

sed
text-processing
sed

sed "無効なコマンドコード W"

sedループ内の.vttテキストファイルセットのリクエスト/ヘッダーにテキストを追加しようとしています。テキストを置き換えずにテキストのみを追加します。 テキストに改行を追加する必要があります。 テキストは次のようにする必要があります。 WEBVTT Kind: captions Language: eng File Creation Date: 2023-08 これが私が試していることです: for file in *.vtt ; do sed -i '' 'WEBVTT/nKind: captions/nLanguage: eng/nFile Creation Date: 2023-08' "$file" done 私にエラーが発生します: sed: 1: 'WEBVTT/nKind: captions/ ...': invalid command code W 理由はわかりません。二重引用符/二重引用符を切り替えてみましたが、うまくいきませんでした。

Admin