最新記事

コマンドは対話型シェルでは機能しますが、スクリプトでは機能しません。
text-processing
variable

コマンドは対話型シェルでは機能しますが、スクリプトでは機能しません。

この質問にはすでに答えがあります。: コマンドの出力をシェル変数に割り当てるには? (回答3個) 閉鎖2年前。 プラットフォーム:RHEL7 シェル:バッシュ 予想される結果:値を変数として保存 次のテキストからIPをキャプチャしようとしています。 { "ip": "12.34.56.7", "type": "LEARNED" } 端末で次のコマンドを実行すると、期待どおり IP を取得します。 grep '"ip":' ../path/to/file.txt | awk '{ print $2 }' | tr -d '"' | tr -d ',' スクリプトの内容は次のとおりです。 IP=grep '"ip":' ../path/to/file.txt | awk '{ print $2 }' | tr -d '"' | tr -d ',' IP=私はすべてを引用符で囲むか、サイコロを使用しますが、使用せずにgrep ipテキストの周りの引用符をエスケープするなど、いくつかの他の操作を試しました。\\この問題にアクセスする正しい方法はわかりません。スクリプトに引用符がない場合、スクリプトは私のコマンドを分解するか、何らかの理由でawkから$ 2を削除します。 情報を提供していただきありがとうございます。

Admin

一致しない区切り文字を含む行を検索する
text-processing
latex

一致しない区切り文字を含む行を検索する

実行すると競合が発生pdflatexし、私の.auxファイルには次の行が含まれています。 \@writefile{toc}{\contentsline {section}{\numberline {B そのような行を識別するために私が考えることができる唯一の方法は、数が行の数を超えるかどうかを計算することです{。生成されたファイルを調べて、その行が含まれていることを確認したいと}思います。または、他のユーティリティを使用してこれを行う方法はありますか?もちろん、これらの線を識別するより効率的な選択肢があればうれしいです。.auxpdflatexgrepawk どんな提案でも送ってくれてありがとう

Admin

A列とB列にスペースで区切られた値のリストを追加し、合計を表示します。
text-processing
awk

A列とB列にスペースで区切られた値のリストを追加し、合計を表示します。

この質問にはすでに答えがあります。: awkを使用して各列を合計して列名と列の合計を印刷するにはどうすればよいですか? (回答1個) 閉鎖3年前。 というファイルがありますfold.txt。各行には、スペースで区切られた2つの値があります。最初の値が列Aを表し、スペースの後ろの2番目の値が列Bを表す場合、列Aのすべての値と列Bのすべての値を加算し、各列の合計を別々に表示します。 ? 私は次のことを期待しています: $ cat fold.txt 100 500 200 300 700 100 出力: Total count Column A = 1000 Total count column B = 900

Admin

リスト内の特定のテキストを大文字に変換するには?
linux
text-processing
awk
sed

リスト内の特定のテキストを大文字に変換するには?

United""で始まる国のすべてのドライバ名を大文字で書きたいと思います。 たとえば、 ~から 20 [United Kingdom] Nigel Mansell 188 31 到着 20 [United Kingdom] NIGEL MANSELL 188 31 私が使用するコマンドは次のとおりです。 cat f1.txt | sed -r 's/[^ ]"United"\s+[A-Z]+[a-z]*]\s+[A-Z]+[a-z]*\s+[A-Z]+[a-z]*-?[A-Z]?+[a-z]?*/\U&/g' 完全なリスト: Rank Country Driver Races Wins 1 [United Kingdom] Lewis Hamilton 264 94 3 [Spain] Fernando Alonso 311 32 8 [United Kingdom] Jenson Button 306 15 11 [Netherlands] Max Verstappen 116 9 17 [United Kingdom] David Coulthard 246 13 20 [United Kingdom] Nigel Mansell 188 31 26 [United Kingdom] Jackie Stewart 100 27 27 [United Kingdom] Damon Hill 115 22 28 [Spain] Carlos Sainz Jr. 115 0 32 [United Kingdom] Graham Hill 177 14 37 [United Kingdom] Jim Clark 72 25 38 [Poland] Robert Kubica 97 1 41 [South Africa] Jody Scheckter 112 10 42 [New Zealand] Denny Hulme 112 8 47 [Switzerland] Clay Regazzoni 131 5 49 [Sweden] Ronnie Peterson 123 10 50 [New Zealand] Bruce McLaren 102 4 51 [Russian Federation] Daniil Kvyat 107 0 52 [United Kingdom] Eddie Irvine 147 4 54 [United Kingdom] Stirling Moss 72 16 58 [United Kingdom] John Surtees 111 6 59 [United States] Mario Andretti 128 12 60 [United Kingdom] James Hunt 92 10 63 [United Kingdom] John Watson 152 5 64 [Thailand] Alexander Albon 35 0 69 [United States] Dan Gurney 86 4 71 [United Kingdom] Mike Hawthorn 48 3 76 [United Kingdom] Lando Norris 35 0 78 [United Kingdom] Paul di Resta 59 0 80 [United States] Richie Ginther 52 1 85 [United States] Phil Hill 51 3 86 [United Kingdom] Martin Brundle 158 0 87 [United Kingdom] Johnny Herbert 161 3 89 [Sweden] Stefan Johansson 79 0 90 [New Zealand] Chris Amon 97 0 94 [United Kingdom] Tony Brooks 41 6 95 [Venezuela] Pastor Maldonado 95 1 99 [United Kingdom] Derek Warwick 147 0 100 [United States] Eddie Cheever 132 0 101 [Switzerland] Jo Siffert 97 2 103 [Russian Federation] Vitaly Petrov 57 0 104 [United Kingdom] Peter Revson 30 2 113 [United Kingdom] Peter Collins 36 3 114 [United Kingdom] Innes Ireland 52 1 119 [Sweden] Jo Bonnier 106 1 120 [Spain] Pedro de la Rosa 105 0 124 [United Kingdom] Mark Blundell 61 0 125 [United States] Harry Schell 63 0 127 [Sweden] Gunnar Nilsson 31 1 128 [Spain] Jaime Alguersuari 46 0 130 [United States] Jim Rathmann 12 1 132 [United Kingdom] Mike Hailwood 51 0 133 [Switzerland] Sebastien Buemi 55 0 135 [United Kingdom] Mike Spence 36 0 136 [South Africa] Tony Maggs 26 0 140 [United States] Masten Gregory 40 0 142 [United States] Sam Hanks 9 1 143 [United Kingdom] Piers Courage 27 0 145 [United States] Bill Vukovich 5 2 147 [United Kingdom] Tom Pryce 42 0 148 [United Kingdom] Roy Salvadori 48 0 149 [United States] Jimmy Bryan 9 1 153 [Sweden] Marcus Ericsson 97 0 159 [Switzerland] Marc Surer 82 0 160 [Netherlands] Jos Verstappen 106 0 161 [United Kingdom] Stuart Lewis-Evans 14 0 167 [United Kingdom] Mike Parkes 6 0 168 [United States] Rodger Ward 12 1 174 [United Kingdom] Jonathan Palmer 84 0 176 [Sweden] Reine Wisell 23 0 179 [United Kingdom] Jackie Oliver 50 0 180 [United States] Johnnie Parsons 10 1 181 [United Kingdom] Peter Arundell 13 0 185 [United States] Tony Bettenhausen 13 0 186 [United Kingdom] Cliff Allison 16 0 187 [United Kingdom] Richard Attwood 17 0 188 [United Kingdom] Peter Gethin 30 1 191 [Switzerland] Rudi Fischer 7 0 192 [United States] Johnny Thomson 9 0 194 [New Zealand] Howden Ganley 36 0 199 [United States] Troy Ruttman 8 1 200 [United States] Lee Wallard 2 1

Admin

テキストファイルの各行を新しいファイルに書き込み、内容に応じて名前を付ける方法は?
text-processing
zsh
macos

テキストファイルの各行を新しいファイルに書き込み、内容に応じて名前を付ける方法は?

次のような行が多いテキストファイルがあります。 Smith: ''Handbook of Everything.'' Fantasy Press, 2000. Wilson: ''Unix for Dummies.'' Wiley, 1993. 各行を新しいファイルに書きたいです。新しいファイルには行全体を含める必要があり、含まれている行と同じ名前でなければなりません。 Smith: ''Handbook of Everything.'' Fantasy Press, 2000.txt Wilson: ''Unix for Dummies.'' Wiley, 1993.txt この目標をどのように達成できますか?ありがとうございます。

Admin

awkまたはsedを使用して同じフィールドがある場合、連続レコードを削除する方法は?
text-processing
awk
sed
perl

awkまたはsedを使用して同じフィールドがある場合、連続レコードを削除する方法は?

こんにちは、同じ番号を含む行を削除したいと思います。 awk、sed、またはperlでどのようにこれを達成できますか?たとえば、行4と5には両方とも12.7が含まれているので、これら2つの行を削除したいと思います。ありがとうございます。 入力サンプル start=0.1 end=2.5 start=8.7 end=12.7 start=12.7 end=16.7 start=16.7 end=25.2 start=25.2 end=48.7 start=48.7 end=60.1 start=66.2 end=69.2 start=69.2 end=72.2 start=72.2 end=75.2 start=75.2 end=78.2 予想出力: start=0.1 end=2.5 start=8.7 end=60.1 start=66.2 end=78.2

Admin

フォルダ内のファイルを繰り返し、列の先頭/末尾のスペースを削除します。
text-processing
awk
sed

フォルダ内のファイルを繰り返し、列の先頭/末尾のスペースを削除します。

この形式の複数のファイルを含むフォルダがあります> 1 Hello1 World1 Example1 2 Hello2 World2 Example2 ... 区切り記号は次のとおりです。\t 各列の先頭/末尾のスペースがある場合は、それらをすべて削除したいと思います。 はい 1 Hello1\s World1 \sExample1 ( \s) < はスペースを表し、予想される出力は次のようになります。 1 Hello1 World1 Example1 値にスペースを含めることができるため、スペースを完全に削除したくありません(例:)Hel lo。 また、新しいファイルを作成するのではなく、現在のファイルを編集したいと思います。

Admin

テキストファイルを新聞などの列に変換するには?
text-processing
text-formatting

テキストファイルを新聞などの列に変換するには?

私はテーブル形式のデータを標準のawkレシピのようにきれいな列に変換したくありません。非常に長いテキストを新聞の列のような列にフォーマットしたいと思います。 たとえば、転送 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tempus orci ut odio tincidunt, vel hendrerit ante viverra. Aenean mollis ex erat, ac commodo lectus scelerisque eget. Aenean sit amet purus felis. Aenean sit amet erat eget velit lobortis fermentum eget eget odio. Donec tincidunt rutrum varius. Nunc viverra ac erat id bibendum. Aenean sit amet venenatis arcu. Morbi enim enim, pulvinar sed velit in, sollicitudin tristique urna. In auctor ex vel diam sagittis, at placerat lacus sollicitudin. Sed a arcu dignissim, sodales odio ac, congue ante. Mauris posuere lorem varius tempor tincidunt. Etiam non metus ac nibh vulputate semper. Proin dapibus ullamcorper tortor, sed ultricies est euismod vel. Aliquam erat volutpat. Phasellus at sem ornare, suscipit leo in, bibendum nulla. Sed fermentum enim id est feugiat, in commodo lectus fermentum. Sed quis volutpat felis. Donec turpis felis, dignissim vel mollis nec, pellentesque non odio. Aenean vitae sagittis libero, vel egestas diam. Nullam ornare purus quis eros euismod, viverra pretium turpis rhoncus. Etiam sagittis lorem non nisi molestie, ut dictum risus rhoncus. 入力する Lorem ipsum varius. Nunc non metus ac vel mollis nec, dolor sit amet, viverra ac erat id nibh vulputate pellentesque consectetur bibendum. Aenean semper. Proin non odio. Aenean adipiscing sit amet venenatis dapibus ullamcorper vitae sagittis elit. Mauris arcu. Morbi enim tortor, sed libero, vel egestas tempus orci ut enim, pulvinar ultricies diam. Nullam ornare odio tincidunt, sed velit in, est euismod purus quis eros vel hendrerit ante sollicitudin vel. Aliquam erat euismod, viverra viverra. Aenean tristique urna. In volutpat. pretium turpis mollis ex erat, auctor ex vel rhoncus. Etiam ac commodo lectus diam sagittis, Phasellus at sagittis lorem non scelerisque at placerat lacus sem ornare, nisi molestie, eget. Aenean sollicitudin. Sed suscipit leo in, ut dictum risus sit amet purus a arcu dignissim, bibendum nulla. Sed rhoncus. felis. Aenean sit sodales odio ac, fermentum enim amet erat eget congue ante. Mauris id est feugiat, velit lobortis posuere lorem in commodo lectus fermentum eget varius tempor fermentum. Sed eget odio. Donec tincidunt. Etiam quis volutpat tincidunt rutrum felis. Donec turpis felis, dignissim \nまた、幅が埋められたら、2回「ページ付け」を実行する必要があります。

Admin

awk:コマンドで定義された変数から名前が由来するファイルとして印刷
text-processing
awk

awk:コマンドで定義された変数から名前が由来するファイルとして印刷

私は学んでいますawk。私の問題の解決策を見つけようとして、私は次のコードを見つけましたが、最後に停止しました1.説明: 内容file: H|20200425|abcd| # header R|abc|2019-03-06|100.00 R|abc|2019-03-06|15.00 R|abc|2019-03-06|10.00 最後に追加 T|20200425|-count of records-|-sum of 4th column- 20190306.txt出力をYYYYMMDD形式の3列目の日付であるファイルに送信します。 私の試み: awk -F'|' ' # get the date formatted NR == 2 { d = $3; gsub(/-/,"",d) } # get the 2nd field of the header NR == 1 { a = $2 } # if the line starts with 'R', sum the column and get the count of them $1 == "R" { sum += $4 ++c } # print the final line with variables acquired END { OFS = "|"; print "T",a,c,sum".00" }1 ' file このコマンドは「予想」結果を提供します。 H|20200425|abcd| R|abc|2019-03-06|100.00 R|abc|2019-03-06|15.00 R|abc|2019-03-06|10.00 T|20200425|3|125.00 変数dはです20190306。 しかし、私が尋ねている質問は、この出力をファイルにリダイレクトする方法です20190306.txt。 「もちろん、これは誤ったコーディングです。ため息をつく、Brainache)、しかし私の目標は可能な限り問題に集中することであり、すべてのバグを指摘するように要求するわけではありません。

Admin

grepを使用して空行数を計算する方法
text-processing
files
grep
search

grepを使用して空行数を計算する方法

テキストファイルがあります。一部の行にはテキストが含まれていますが、他の行にはテキストが含まれていません(空白または文字のない空白行: 123 // comment 45 ご覧のとおり、上に線があります//comment。これらの行がファイルに存在する回数を計算するにはどうすればよいですか?

Admin

「sed」を使用してTSVファイルのフィールドの末尾にテキストを挿入する
text-processing
sed
bioinformatics

「sed」を使用してTSVファイルのフィールドの末尾にテキストを挿入する

sedワイルドカード式を含むコマンドを使用してTSVファイルに文字を挿入したいと思います。 次のファイルがあります。 Marker Pvalue Trait Chr Pos S3_16887238 6.172847e-09 Total_Soil_S 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Pa 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Cl 3 16887238 _All3番目の列のすべてのテキストの末尾に次の内容を追加したいと思います。 Marker Pvalue Trait Chr Pos S3_16887238 6.172847e-09 Total_Soil_S_All 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Pa_All 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Cl_All 3 16887238 このコマンドを使用していますが、動作しません。 sed -i 's/Total_Soil_\(.*\)/&_\1_All/g' top1.txt Sこれはサンプルファイルなので、およびをPa置き換えることができますCl。

Admin