最新記事

特定の行の一部を印刷する
text-processing

特定の行の一部を印刷する

ファイルを読み、次を含むすべての行を印刷したいと思います。 ## DF それとも次に終わりますか? # DF DF次に、次から印刷を開始します。 ここにいくつかの例があります。 local lbpos=21 # DF [LBPOS] Label Position local ktg="PILE" # DF [KTG] Category ## DF [KARG] Control Argument Some text printf '%s\n' "$@" \ | while IFS="" read -r lnp; do # DF [LNP] Line Input More text 結果 DF [LBPOS] Label Position DF [KTG] Category DF [KARG] Control Argument DF [LNP] Line Input

Admin

Groffにはテキスト用の2つの列と脚注用の1つの列があります。
text-processing
groff
roff

Groffにはテキスト用の2つの列と脚注用の1つの列があります。

私は初めてgroffに触れたので、これが愚かな質問なら許してください。コンテンツ列2つと脚注列1つを使用するのに適したソリューションが見つかりませんでした。目的の結果を得るためにマクロを試して.1Cみ.2Cましたが、役に立ちませんでした。他の内容に関係なく、1列に脚注を入れるのに最適な方法はありますか?

Admin

テキストが変数によって生成されることがわかったら、Grapを使用して文字チェーンからテキストの前後の文字をどのように削除できますか?
text-processing
grep

テキストが変数によって生成されることがわかったら、Grapを使用して文字チェーンからテキストの前後の文字をどのように削除できますか?

私はそれを使用しています grep 'name=>' log.txt | cut -d\ -f3 私は次のような結果を得ます。 name=>"Faya-Largeau", name=>"Paris", name=>"Madrid", name は変数の出力です。 (私はこのような都市の長いリストを持っています) 「Faya-Largeau」、「Paris」、または「Madrid」のみをインポートしたいので、名前=>と後の括弧の間にある都市を除外する必要があります。 どうすればいいですか? 事前にありがとう

Admin

CSVファイルのセルからCR+LFを削除する[閉じる]
text-processing
csv

CSVファイルのセルからCR+LFを削除する[閉じる]

閉鎖。この質問には詳細または明確性。現時点では回答は許可されていません。 この質問を改善したいですか?詳細を追加して質問を明確にしてください。この記事を編集してください。 閉鎖2年前。 この問題を改善する 列のデータにはならないデータがbあります。CR+LF次のようになります。 a,b,c test1,test2 test2 bis, test3 しかし、次のようにする必要があります。 a,b,c test1,test2 test2 bis,test3 どのように使用またはsed削除できますかawk?

Admin

awk:コードブロックを分離し、存在する場合は複数のブロックを繰り返します。
text-processing
awk

awk:コードブロックを分離し、存在する場合は複数のブロックを繰り返します。

awk †は""のn番目の反復を見つけて、次の" {"文字まで}すべてを返すことはできますか? [編集:はい... Ed Mortonのソリューションは一番下にあります。] †私はいつもawkがその仕事に適したツールだと思いました。他のアイデアも大歓迎です。 何百ものファイルからテキストブロックを分離する必要があります。一部のファイルにはブロックが1つしかありませんが、他のファイルには何十ものファイルが含まれています。 サンプル: $ cat samp2.txt ////////////////////////////////// // North Carolina office // satellite branch ////////////////////////////////// { first "John" last "Doe" address "163 Main Street" age "25" gender "male" } >現在のチャンクを一時ファイルに入れて、スクリプトが次のチャンクを処理する前にそれを操作できるようにすることをお勧めします。それにもかかわらず、それらは別々のファイルで終了します。 私はn番目の一致を見つけるためにawkにインデックスを提供することが可能だと思います。 Bashスクリプトはループと反復を管理できます。 私は近い $ awk '/\{/{flag=1;next}/\}/{flag=0}flag' samp2.txt first "John" last "Doe" address "163 Main Street" age "25" gender "male" ただし、上記の操作はファイル全体に対して実行されるため、複数のブロックを含むファイル(以下のような)では機能しません。ファイルにいくつのブロックがあるかに関係なく各ブロックは分離されています。別途処理する必要があります。 一部のファイルにはコメントが含まれていますが、多くのファイルにはコメントが含まれていません。標準はありません。私はそれらを破棄しましたが、矛盾のためにそのコメントを使用して私たちの場所を追跡することはできませんでした。与えられた唯一のものは中括弧(および行区切り文字)です。 テキストは常に改行で区切られますが、ブロック間に常に空白行があるわけではありません。データのペアはさまざまなので、これは単純なgrep 5 lines and proceed解決策ではありません。 $ cat samp3.txt //GROUP1 { first "John" address "124 Main Street" last "Jones" special "supervisor" age "35" gender "male" } //The fourth group { first "John" address "125 Main Street" last "Jacob" age "30" gender "male" } { first "John" address "523 Main Street" last "Jingle" age "40" gender "male" } 上記のawkの説明は、すべてのグループを介して1つの大きな段落にマージされます。 $ awk '/\{/{flag=1;next}/\}/{flag=0}flag' samp3.txt first "John" address "124 Main Street" last "Jones" special "supervisor" age "35" gender "male" first "John" address "125 Main Street" last "Jacob" age "30" gender "male" first "John" address "523 Main Street" last "Jingle" age "40" gender "male" {次のようにawkにn番目の ""を見つけて、n番目の}""を個別にダンプするように指示する必要があります。 first "John" address "124 Main Street" last "Jones" special "supervisor" age "35" gender "male" (awk exits, bash script does its thing) first "John" address "125 Main Street" last "Jacob" age "30" gender "male" (awk exits, bash script does its thing) first "John" address "523 Main Street" last "Jingle" age "40" gender "male" (awk exits, bash script does its thing) [etc] 意図は、{ .+ }貪欲ではないn番目の正規表現の一致に似ています。 これでよりスマートなPerlソリューションがありますか? ティア。 このコードは私が必要とするものを取得します。 Ed Mortonの回答に基づいて修正されました。 awk -v n=$LoopVariable -v RS='}' 'NR==n{gsub(/.*\{\r?\n|\n$/,""); print}' $SourceFile 編集:入力は私が必要とする質問と質問を分離するのに本当に役立ちました。ありがとうございます。 見つけました。 一部 SEの問題それとても似ているようです。しかし、ここに私の解決策が含まれていれば、接続を見るのに十分なawkについて十分にはわかりません。

Admin

テキストをナビゲートしています... N文字の前後に移動するか、英数字ではなく次/前の文字にスキップする方法はありますか?
text-processing
keyboard-shortcuts
keyboard
text
keyboard-event

テキストをナビゲートしています... N文字の前後に移動するか、英数字ではなく次/前の文字にスキップする方法はありますか?

私はキーボードナビゲーションショートカットについて話しています。これはすべてのテキストボックス/エディタ/などで動作します...時には文字列の特定の位置に移動するより高速な方法が必要ですが、代わりにctrl +左側があるようです。文字列の間を移動する/右矢印、時には空白文字と英数字以外の文字を区切り文字として使用できますが、どちらも認識されません。これにより、長い文字列とテキストを編集するのに費用がかかります。点滅している行をジャンプするカスタムショートカット(5文字/戻る/前方など)も可能ではありませんか?

Admin

Linuxコマンドは、パターンの前後の部分行を異なる方法で処理します。
linux
text-processing
awk
sed

Linuxコマンドは、パターンの前後の部分行を異なる方法で処理します。

私のオリジナルテキストは 11 2 CDTZ - b00264ab 36 37 CDTB - c2330001 出力テキストを次のように表示したいと思います。 11 2 CDTZ - b0:02:64:ab 36 37 CDTB - c2:33:00:01 ハイフンの後に、文字列の2文字ごとにコロンを追加する必要があります。 次のような一般的なテキスト処理コマンドはありますか? ハイフンの前に含まれるすべての文字列は変更されていないままにしてください。 ハイフンの後に2文字ごとにコロンを挿入します。 通常、パターン(ここではハイフン)の前後のテキストを異なる方法で処理する必要があります。 これまでの私の努力: sed私はとの基本的な知識がありますawk。 sedでこれを行う方法がある場合は、awkフィールド-区切り文字で(ハイフン)を設定し、それをawk実行してから、行全体を印刷します。sed 's/../&:/g;s/:$//'$2print $0

Admin

ファイルの各行についてawkスクリプトを確認してください。
text-processing
awk
files

ファイルの各行についてawkスクリプトを確認してください。

テキストファイルの各行を調べて修正するためのawkスクリプトの作成に問題があります。 次の例を考えてみましょう。 $ cat employee.txt "100","Thomas","Sales","5000" "200","Jason","Technology","5500" "300","Mayla", "Technology","7000" "400","Nisha","Marketing","9500" "500","Randy","Techno logy","6000" "501","Ritu","Accounting","5400" ご覧のとおり、一部の線が間違った地点で壊れているようです。パターンは次のようにする必要があります。 $ cat employee.txt "100","Thomas","Sales","5000" "200","Jason","Technology","5500" "300","Mayla","Technology","7000" "400","Nisha","Marketing","9500" "500","Randy","Technology","6000" "501","Ritu","Accounting","5400" したがって、awkでパターンが従わないことを確認する方法があるかどうか疑問に思います。たとえば、各行のカンマ数を確認してから、改行をバックスペースとして指定する方法です。 こういう数百、数千行のファイルを受け取るので、壊れた行をいつも直す手作業がとても退屈だ。 SQLLDRを使用してテーブルにデータをロードするための制御ファイルを生成していますが、テキストファイルに改行が含まれているためエラーが発生します。だから私の解決策は、スクリプトを介して各行を変更することでした。 どんなアイデアがありますか?スクリプトがAwkにある必要はありません。

Admin

特定の時間より大きい特定のログエントリをgrep
text-processing
grep
date

特定の時間より大きい特定のログエントリをgrep

特定のテキストを使用して、現在の日付より後の特定の時間のログをフィルタリングしたいと思います。現在の日付を含むテキストのログを正常にフィルタリングしました。これはコマンドです: grep "$(date +"%d/%b/%Y")" test.log | grep -i "failed login" サンプルログは次のとおりです。 [04/Dec/2019 02:05:13 -0800] access WARNING 10.126.49.92 -anon- - "POST /hue/accounts/login HTTP/1.1"-- Failed login for user: testuser [04/Dec/2019 02:05:15 -0800] access WARNING 10.126.49.92 -anon- - "POST /hue/accounts/login HTTP/1.1"-- Failed login for user: testuser [04/Dec/2019 02:04:59 -0800] access INFO 10.126.49.92 ahmed.rao - "POST /notebook/api/check_status HTTP/1.1" returned in 759ms [04/Dec/2019 02:05:00 -0800] base INFO Selected cluster 0e83a448-26c9-459b-a0f2-3478ecb119af {u'interface': u'impala', u'namespace': u'0e83a448-26c9-459b-a0f2-3478ecb119af', u'type': u'direct', u'id': u'0e83a448-26c9-459b-a0f2-3478ecb119af', u'name': u'0e83a448-26c9-459b-a0f2-3478ecb119af'} interface hiveserver2 [04/Dec/2019 03:05:00 -0800] access INFO 10.126.49.92 ahmed.rao - "POST /notebook/api/close_statement HTTP/1.1" returned in 1345ms [04/Dec/2019 03:05:00 -0800] base INFO Selected cluster 0e83a448-26c9-459b-a0f2-3478ecb119af {u'interface': u'impala', u'namespace': u'0e83a448-26c9-459b-a0f2-3478ecb119af', u'type': u'direct', u'id': u'0e83a448-26c9-459b-a0f2-3478ecb119af', u'name': u'0e83a448-26c9-459b-a0f2-3478ecb119af'} interface hiveserver2 [04/Dec/2019 03:05:18 -0800] access WARNING 10.126.49.92 -anon- - "POST /hue/accounts/login HTTP/1.1"-- Failed login for user: testuser しかし、特定の時間よりも大きな条件を適用する方法がわかりません。

Admin

奇数行と偶数行の偶数と奇数の合計
shell-script
text-processing
numeric-data

奇数行と偶数行の偶数と奇数の合計

与えられたファイルの奇数行と偶数行の偶数と奇数の合計を提供するシェルスクリプトを作成したいと思います。 私は次を使いたいです: sed -n 2~2p そして sed -n 1~2p しかし、どこで、どのように解決を始めるべきかさえわかりません。私を正しい方向に案内してもらえますか? 入力ファイルの例: 20 15 14 17 20 50 79 77 55 40 89 77 45 65 87 12 出力例: Odd summ: 15+17+55+89+77=253(Enough just the end of the summ) Even summ: 20+50+12=82(Enough just the end of the summ)

Admin