問題タブ [cat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - 説明されたシェルステートメント
次のステートメントは、txt ファイルの行番号を削除します。
入力ファイルは、次のステートメントで作成されます(これは私が理解しているものです):
私は猫の機能を知っており、出力が「withoutLineNumbers.txt」ファイルに書き込まれることを知っています。しかし、の部分は'| sed 's/^.......//''
私にはよくわかりません。
御時間ありがとうございます。
file - 選択したファイルをすばやく簡単に選択しますか?
私は今までターミナルでファイルを分類してきました..しかし、それは多くの場合時間がかかります。私が欲しいのは次のようなものです:
何百ものファイルを含むフォルダーがあり、いくつかのファイルを効果的にまとめたいと考えています。たとえば、(Finder で) 5 つの分割ファイルを選択する方法はありますか。
file.txt.001
、file.txt.002
、file.txt.003
、file.txt.004
.. Finder でそれらを右クリックし、[結合] をクリックします。
もちろん、すぐに使用できるわけではないことはわかっていますが、Automator アクション、ドロップレット、またはシェル スクリプトを使用して、そのようなことを行うことは可能ですか? または、その猫のアクションにキーボード ショートカットを割り当て、Finder で選択したファイルをヒットすると、自動的に新しいファイルにマージされ、元の分割ファイルに基づく名前で同じフォルダーに配置されますか?
この例では、file.001 から file.004 までが魔法のように同じフォルダーに、fileMerged.txt という名前のファイルとして表示されます。
私はこの種の分割ファイルを 100 万ほど持っているので、効率的なワークフローが命の恩人になります。私はインタラクティブな本に取り組んでおり、出版社からこの仕事を与えられました..
bash - WILE DO GREP の使用
私はこれを機能させようとしていますが、出力はありません。ここでやろうとしているのは、複数の名前を持つtxtファイルからgrepになり、ユーザー名に一致するIPアドレスをエクスポートすることです。各行が読み取られ、BadIP.out にエクスポートされるたびにループし続けます。
アップデート:
この時点で問題があるところだけを投稿したので、ゼロから始めましょう。
2 つの同じプログラムを実行しているサーバーがあります。1 つのデバイスから接続するために、プログラムごとに 2 つの接続をクライアントに与えています。最近、それらを別々に使用しているものがあることに気付いたので、ログから何かを発明しなければなりませんでした。
プログラムは、IP、ユーザー名、NODEID などのデータをログに記録します。nodeID から、ユーザーが不正行為を行っているかどうかを確認できます。各プログラムのログを比較し、一致する抽出データを一致させたい。一致する場合はすべて問題ないことを意味し、NodeID が失敗した場合は不正行為を意味します。だから私がしたことはこれです
1) ユーザーの NodeID を照合することにより、プログラムの両方のログを取得しました 2) 次に、そのログから別のログにエクスポートします3) ユーザー名を NodeID から分離します (txt ファイルにエクスポートします) 4) スクリプトを使用して、ループを使用して TXT ファイルを読み取り、ユーザー名に一致する IP アドレスをログにフェッチして、BadIP.out にエクスポートします 5 ) 次に、ループ読み取り BADIP.out を使用して、IPtables を使用してユーザー IP を禁止します
これらのファイルを作成しました。PS私は開発者ではありません:)
これは私が実行するプログラムです
これは program1 から log1 まで読み取ります
cam.sh
これは、program2 から log2 に読み取ります
cam2.sh
これは、ユーザーと一緒にメールを送信するためのものです
メール.sh
ログのサンプル
cam.txt & cam2.txt
badusers.txt
badnodeid.txt
通知.txt
temp1.out
temp2.out
残っているのは、上記のスクリプトの while ループを作成して、test.log からユーザーを取得し、IP を見つけて、それらを BadIP.out にエクスポートすることです。BAN するには、このようなものが必要です。
heredoc - ここで前処理されたドキュメント
以下の例では、todel.txt ファイルに $a=b という行があるはずでした。here doc テキスト ブロックを処理せずにそのまま追加するにはどうすればよいですか?
r - cat コマンドの無効化
次の関数があるとします。
呼び出したときに、画面への印刷f()
を停止する方法はありcat
ますか (機能を変更せずに)。
この質問の背後にある理由
私の生徒は R ファイルをアップロードします。次に、スクリプトを実行して、それらが正しいかどうかを確認します。時々、学生はコマンドで去りcat
ます。これは、長い for ループにある場合に特にイライラします。
grep - ホワイトスペースとxargsを理解する
で使用する場合は、スペースを含むファイル名の引数と引数を使用find
して正しく機能さxargs
せることをお勧めします。-print0
-0
今、私はpatterns
次の内容で名前が付けられた次のファイルを持っています
text
そして私は次の内容で名前が付けられたファイルを持っています
次のコマンドを実行すると、
私は得る
これは、xargsが、、、、、、、の代わりに検索することを知っていa a a
たb b b
ことa
を意味します。a
a
b
b
b
私の質問は、上記の例に問題がないのはなぜですか?、、、、、を検索しa
、a
の両方の行を返すと思いました。a
b
b
b
text
私は何が欠けていますか?
bash - 「LINEdoを読みながら」とgrepの問題
2つのファイルがあります。
ここfile2.txt
には、Webページ上のwgetからの出力が含まれているため、非常に雑然としていますが、最初のリストの単語の多くが含まれています。
Bashscript:
これは期待どおりに機能しませんでした。なぜだろうと思ったので、ループ内に$ LINE変数をエコーアウトし、スリープ1を追加して、何が起こっているのかを確認しました。
ターミナルでの出力は次のようになります。
アフガニスタン
アフリカ人
アラスカ人
アルバニア人
アメリカ人
grep:中国語:そのようなファイルまたはディレクトリ
はありません
アラビア
人アラブ人アラブ
人/東インド人
:そのようなファイルまたはディレクトリはありません
アルゼンチン
人アルメニア人
アジア
アジア人インド人
:そのようなファイルまたはディレクトリはありません
file2.txt:アジアのナルト
。 ..
つまり、最終的に「アジア」という単語が見つかったことがわかります。しかし、なぜそれは言うのですか:
そのようなファイル、又はディレクトリはありません
?
何か変なことが起こっているのですか、それともここで何かが足りないのですか?
bash - bash cat は文字を削除します
文字を削除せずにファイル全体を変数に読み込もうとしています。これはばかげて単純でなければならないと確信しています。
これは、繰り返されるスペース、すべてのタブ、および改行を削除するため、機能しません。
次のような単純な割り当てで同じフィルタリングが行われていることがわかります。
しかし、私がこれを行うときではありません:
割り当て時に bash 変数の解析とフィルタリングを停止するにはどうすればよいですか?
bash - bash:ファイルの最初の行をcatし、位置を取得します
最初にn行のテキスト(nは<1000)、空の行、そして多くの型指定されていないバイナリデータを含む非常に大きなファイルを取得しました。
テキストの最初のn行を抽出してから、どういうわけかバイナリデータの正確なオフセットを抽出したいと思います。
最初の行の抽出は簡単ですが、どうすればオフセットを取得できますか?bashはエンコードを認識しないため、文字数を数えるだけでは意味がありません。
linux - > および >> 演算子は効果がありません
PHPスクリプトの出力をファイルに書き込もうとすると、最も奇妙なエラーが発生します。私が使う:
とにかく、これはコンソールに出力するだけです。ファイル (エラー/毎日) はそのままです。
error/daily には chmod 777 があります。
どちらも機能しません。Daily.php の出力は、コンソールに出力され続けます...
これについて何かアイデアはありますか?:/ 前もって感謝します!
アップデート:
現在使用中
コンソールには何も出力されません。
しかし、error/daily はそのままで、何も書き込まれません。
別の更新:
期待どおりに動作します (エラー出力をファイルに追加します)。
単純にファイルを空にし、何も書き込みません。なぜこれが起こっているのでしょうか?