問題タブ [ifs]

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.

0 投票する
1 に答える
213 参照

bash - while ループで read を使用して複数の変数に問題がある

まだ学習中で、IFS= で迷子になっています

これは私の初めてのスクリプトで、アップロードされるファイル名にスペースが含まれていない限りうまく機能します。IFS= 'whatever' を使用してフィールド セパレータを定義するスクリプトをいくつか読みましたが、運用中にこれをいじりたくありません。動作しますが、ファイルをアップロードしたユーザーのユーザー名を取得できないとイライラします。ヒントをください。

0 投票する
1 に答える
30 参照

bash - IFS= を使用した BASH csv 解析。一部のフィールドには区切り文字、つまりアドレスが含まれています。

を使用して MySQL データベースから生成された csv ファイルを解析しようとしていますIFS=,が、一部のフィールドには,、区切り文字として扱われるべきではない が含まれています。

たとえば、最初の行は次のとおりです。 "012345678","abcdefgh","Smith, John","1234 Main St. Somewhere, state"

私が見返りに得ているのは: "012345678","abcdefgh","Smith","John","1234 Main St. Somewhere","state"

各フィールドを変数に割り当てようとしていますが、実際のフィールド区切り文字ではないコンマでスクリプトがハングアップしています。

0 投票する
1 に答える
74 参照

arrays - Bash マルチアレイと IFS

bash スクリプトに問題があります。

文字列を(インデックス付きの名前付き)配列に分割します。

文字列には次の値を指定できます。status=online clients=5 name=Server 文字列には、次のようないくつかのコマンドを指定することもできます (これが問題です)。 status=online clients=5 name=Server|status=offline clients=0 name=Server_2

最初の質問: この "|" を分割するにはどうすればよいですか、または確認する必要がありますか? 存在しますか?

2 番目の質問: この値を from string: のような名前付き配列に分割する必要があります。status=online clients=5 name=Server配列は次のようになります。

セパレーター「|」の場合 存在する場合、2 つ (またはそれ以上) の配列で結果を取得する必要があります。

たとえば、echo $mainarray[0][status]i を使用すると「オンライン」になります。

それは可能ですか?

0 投票する
3 に答える
419 参照

bash - Bash IFS ('\n'): find コマンドと for ループによるファイル名検出の問題

コマンド置換は正しく行われていますか? 変数は for ループの IFS \n では機能しません。なぜこれが発生するのかわかりません。

for ループは、find の出力を行ごとに処理することにより、空白を含むファイル名を処理することになっています (これが、IFS \n を使用する理由です)。

0 投票する
1 に答える
150 参照

ifs - こんにちは、次の行に一重引用符があるIFSの意味は何ですか?

こんにちはIFS=' 'はスペースですが、何ですか

0 投票する
3 に答える
169 参照

shell - 「set ls -AF」によるシェル位置パラメータの設定

サブディレクトリのメニューを表示し、ユーザーがcdするディレクトリを選択できるようにするksh関数 ( .profileファイルに配置される) を作成しています。コードは次のとおりです。

この関数は、スペース文字を含むディレクトリ名を除いて、かなりうまく機能します。ディレクトリ名にスペースが含まれている場合、setコマンドはディレクトリ名の (完全なディレクトリ名ではなく) スペースで区切られた各要素を個別の定位置パラメーターに設定します。それはここでは役に立ちません。

$IFSシェル変数 (デフォルトでspacetab、およびnewlineを含む) を単一の改行文字に設定しようとしました:

これは、次の方法で検証された意図を達成しているように見えます。

しかし、私の最善の努力にもかかわらず (数日間の作業の過程で)、スペースを含むディレクトリ名全体を位置パラメーターの値として設定できませんでした。

私は何が欠けていますか?

提案はここに求められ、大歓迎です。

ADVAありがとうNCE

ボブ