問題タブ [bash4]
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.
python - os.systemを使用したpython内のbash 4.4
Python スクリプト内で bash スクリプトを実行する際に問題がありますscript.py
。
これを として実行するpython script.py
と noと書かれていますが、ターミナルでは、ネイティブの macOS bash ではなくlist2.txt
内部にいることがわかります。bash-4.4
これを引き起こす可能性のあるアイデアはありますか?
上に投稿したスクリプトは、より大きなスクリプトの一部であり、最初にファイルを読み込んで出力しますlist.txt
。
編集: ここにいくつかの詳細な説明があります。最初の python スクリプトでは、ファイル (具体的には genbank ファイル) を解析して、項目 (場所、ストランド、名前) を含むリストを に書き出しましたlist.txt
。これlist.txt
は、2 番目の Python スクリプトで解析できるように変換する必要があるため、sed.
list.txt
希望する出力のように見えるように:
、すべての角かっこを置き換える必要があります。'
list2.txt
arrays - Bashで連想配列(double)の一部の長さを取得する
通常の二重配列のように機能する連想配列があります。
構造は [ [0,1], [0,1,2] ] のようになります。コード:
array[0]とarray[1]の長さを取得するにはどうすればよいですか? この例では、2 と 3 です。
ありがとうございました。
PS重複を検索しようとしました。失敗。明確でない場合: 配列の長さがわかりません。
回答は、効率テストの後に選択されました。@RenaudPacalet の回答に基づく関数の例を次に示します。
使用例:getLength array 1
この質問の場合は 3 を返します。
の使用$(eval "echo \${!$1[@]}")
は よりもはるかに遅いことに注意してください${!array[@]}
。