問題タブ [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 - aixでファイルを開く
(AIX/ksh) 中国語のファイルがあります... cat を使用して aix で完全に開くことができません... cat を指定すると、一部のコンテンツが失われます...そして cat -v を指定すると、奇妙な結果が得られますコード....コンテンツを読み取るためにwhileループを試してみましたが、機能しません...より多くのコマンドを使用できますが、シェルスクリプトでこれ以上使用することはできません...ここでいくつかのアイデアを流してください...どうもありがとう
c - プログラムに入力を送信し、制御を取り戻す
私はしばらくこれにこだわっています。次のような C プログラムがあるとします。このプログラムに文字列を送信し、その後制御を取得できるようにしたいと考えています。私が行った場合:
--> 猫のマイファイル | myprogram
または
--> echo "0123" | myprogram
または
--> myprogram < myfile 出力
を取得します (myfile には「0123」が含まれています)
30 31 32 33
-n オプションを使用すると、segfault が発生します
--> echo -n mystring | ./test
zsh: done echo -n "0123" |
zsh: セグメンテーション違反 ./test
名前付きパイプも試しましたが、うまくいきませんでした。
cat myfile | のようなことができるようにしたいと思います。myprogram を実行してコントロールを取り戻し、他の文字を入力できるようにします。
編集:
以下は私が思いついたラッパーです。子実行ファイルの出力が正しく表示されないことを除いて、私が望むすべてを行います。
ラッパーなし:
ラッパーの場合:
行の削除
子の標準出力を正しく表示しますが、もちろんラッパーを壊します。
gcc - Makefile の自動生成された依存関係リストの前に (改行なしで) 追加する
タイトルが意味をなさないかどうかわからないので、少し詳しく説明します。
gcc の自動依存リスト ジェネレーターを使用するこの makefile をいじっています。
同時に、ソース、ヘッダー、およびリソースを分離する、適切にソートされたディレクトリ構造を維持したいと考えました。
レイアウトはこのようにシンプルでいいですね
- 主要
- ソース
- 含む
- オブジェクト
- 依存関係
これで、makefile 依存関係リスト ジェネレーター atm は次のようになります。
ここでの考え方は、依存関係ルールを生成し、それを make ビルドに含めるというものです。
そして、たとえば foo1.o の結果は次のとおりです。
すべてのオブジェクトがメイン ディレクトリにあるようにラベル付けした場合、これはうまく機能しますが、代わりに /main/objects にあるため、make は /main/objects/foo1 のルールが見つからないと言っています。 o
今、私はこれを試しました:
> はオブジェクトパスを新しい/上書きされたファイルにフィードし、GCC 自動依存ルールの生成をそれに連結します...しかし、2 つのセットの間に改行を追加します。
上記の情報を含む2つの個別のファイルをcat'ingしようとしました...しかし、改行も取得します。
改行を追加せずに依存関係ファイルを追加する良い方法はありますか?
また、makefile、cat、および echo に関する本当に優れたチュートリアルがあれば、本当に感謝します。
すべての応答に感謝します。
c - システム コールを使用して unix cat コマンドを実装する
私の OS クラスでは、Unix の cat コマンドをシステム コール (scanf または printf なし) で実装する割り当てがあります。これが私がこれまでに得たものです:
(回答のおかげで編集されました)
私が見た例は、既知のバイト数での読み取りのみを示しています。各読み取りファイルのバイト数がわからないので、読み取りの最後のパラメーターを指定するにはどうすればよいですか?
r - NULLを取得せずに、apply、cat、printを使用する方法
cat()
内の関数として使用しようとしていますapply()
。私はほとんどRに私が望むことをさせることができます、しかし私はリターンの終わりにいくつかの非常に紛らわしい(私にとって)NULLを取得しています。これは私が得ているものを強調するためのばかげた例です。
これは、Rがそれを受け入れて実行するという点で「機能」しますが、結果がわかりません。
しかし、私は取得したい:
では、どうすればその最後のNULLを削除できますか?
bash - bash cat 複数のファイルのコンテンツを改行なしの単一の文字列に
eg_ で始まる名前のファイルをいくつか取得しました。それぞれに1行のみが含まれます
eg_01.txt: @中国:129.00
eg_02.txt @uk:219.98
eg_03.txt @USA:341.90
……
@china:129.00@uk:219.98@USA:341.90 のような URL で送信するために、それらを 1 行にまとめることを期待しています。
私はエコーを使いますcat eg_*
出力は文字列のように見えますが、実際には改行が含まれています: "@china:129.00
@uk:219.98 @USA:341.90"
新しい行とスペースさえも期待して取り除くその文字列を作成できる他の方法はありますか? これを行うには猫だけで十分ですか?
前もって感謝します
r - Rで、print(cat( ""))がNULLを返すのを停止できますか?そして、なぜcat( "foo")はfoo>を返すのですか?
入ったら
私は得る
Rスクリプトの進行状況を印刷するために使用したいのですが、連結されたすべての文字列の最後にcat()
戻る理由がわかりません。さらに重要なのは、スクリプトを停止する方法です。NULL
unix - 中間ファイルなしで複数のファイルを 1 つにまとめるにはどうすればよいですか?
これが私が直面している問題です:
- サイズが100G以下のテキストファイルを文字列処理しています。
- ファイルを何百もの小さなファイルに分割し、それらを並行して処理することで、ランタイムを改善しようとしています。
- 最後に、結果のファイルを順番にまとめます。
ファイルの読み書き時間自体に何時間もかかるので、以下の点を改善する方法を見つけたいです。
これには、
file1
...fileN
が 100G をnewBigFile
占有し、さらに 100Gb を消費し、さらにfile1
...fileN
が削除されるため、2 倍のディスク容量が必要になります。データはすでに
file1
...fileN
にcat >>
あり、何百ものファイルを 1 つのファイルとして再表示するだけで本当に必要なときに、読み取りと書き込みの時間がかかります...
shell - この「cat」の使用法をより簡潔にするにはどうすればよいですか?
実際の使用例については、自由回答形式の質問 (創造性を発揮してください)。基本的に、(1) 既存のファイル (2) プログラムの出力、および (3) 特定のテキストを cat したいと考えています。パイプ、エコー、リダイレクトの間で、これよりもうまくできるはずだと感じています!
bash - Bash の cat, while, let と pipe は奇妙なスコーピング動作を引き起こします
だからここに私のスクリプトがあります:
最後の echo ステートメントは、ファイル内の行数ではなく 0 を出力しますが、while ループの echo ステートメントは増分値を出力します。
問題は配管にあります。単純な while ループでは、最後の echo ステートメントが正しい値を出力するからです。どうすればこれを機能させることができますか?