[過去ログ] くだらねえ質問はここに書き込め! Part 234 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
376(1): 2018/12/15(土)20:22 ID:PhlF7L7j(1) AAS
>>375
[I]nternational Codeset [Conv]ersion Library
377(3): 2018/12/16(日)02:11 ID:sSzOptpz(1/3) AAS
bashについてお伺いします
ファイルの各行を1つの要素とする配列を簡単に作る方法を模索しています
データには空白文字が含まれている可能性があり、そこで要素に分割されないように
空白文字を保護する必要があります
ループ回して1行読み込んでは配列に追加するという方法なら確実かと思いますが
簡潔にできないかと考えたあげく出たのが次のコードです
eval array=( $( cat file | sed "s/.*/'&'/" ) )
各行の先頭と末尾にシングルクォートを追加した上で、evalに再解釈させるという方法です
(話の単純化のためデータには元々シングルクオートが含まれていないとします)
この方法は一見うまくいったようでした
省6
378: 2018/12/16(日)02:28 ID:08XRGqAB(1) AAS
ループ回して1行読み込んでは配列に追加しろ
つーか、1行読んで1行ずつ処理すれば?
379(1): 2018/12/16(日)03:14 ID:648j88pB(1) AAS
>>377
> うまくいかない理由の認識はあっていますか?
あってると思う
evalの引数を引用符で括れば良さげ
eval "array=( $( cat file | sed "s/.*/'&'/" ) )"
> 他にこの目的を簡単に達成できるような方法はありますか?
mapfile -t array <file
380: 377 2018/12/16(日)03:47 ID:sSzOptpz(2/3) AAS
>>379
ありがとうございます
勉強になりました
381: 2018/12/16(日)04:43 ID:84KMWPj3(1) AAS
mapfileなんて知らんかったわ
すげえな
382: 377 2018/12/16(日)05:08 ID:sSzOptpz(3/3) AAS
mapfileというのはbash4.0からの機能みたいですね
mapfileがない場合は最終的に次のコードに落ち着きました
eval "array=( $( cat file | sed "s/'/'\\\''/g; s/.*/'&'/" ) )"
(シングルクォート保護版)
しかし無駄な努力に終わってしまった…
383: 2018/12/16(日)09:19 ID:zwcjpbmB(1) AAS
外部リンク:ppa.launchpad.net
↑ここに接続できないって言われてPapirusアイコンのパッケージ更新ができないんだけど、みなさんそうですか?
384: 2018/12/16(日)11:24 ID:/MO3Edke(1) AAS
>>376
おお!ありがとう!
385: 2018/12/16(日)18:29 ID:Cph6qf5U(1) AAS
つまんねー ぜんぜん「くだらねえ」くないから
386: 2018/12/17(月)12:08 ID:lR+oH8eb(1) AAS
つまんねーならおまえがくだらねえ質問するんやで
387(2): 2018/12/17(月)18:39 ID:ChQv8TkK(1) AAS
1から10までのループとして
for i in {1..10} ; do
echo ${i}
done
と書いてますが、このループの終端の数字をシェルスクリプト実行時に指定しようと思い
for i in {1..$1} ; do
echo ${i}
done
とし、コマンドラインパラメータとして$1に10を与えたところ、出力が
省4
388(1): 2018/12/17(月)21:59 ID:rOWm4H3m(1) AAS
>>387
処理順序が {}の展開→変数の展開 の順になっているからevalするしか無さそうだけど
面倒だし、ファイル名に対してはスペースの扱い怖いな
$ echo $(eval echo abc\{1..$hoge\})
abc1 abc2 abc3
389: 2018/12/17(月)22:06 ID:mLXh0j4T(1) AAS
i=1
while [ $i -le 10 ]; do
echo ${i}
i=$((i+1))
done
390(1): 2018/12/17(月)22:25 ID:2bzO2+ne(1) AAS
>>387
外部リンク:gist.github.com
391: 2018/12/18(火)00:52 ID:gFEfARad(1) AAS
age
392: 2018/12/19(水)00:45 ID:DG5csFsk(1) AAS
manページを開いたときにターミナルエミュレータのタイトルを変更することって可能ですか?
具体的にはmanページのタイトルを取得して,printf '\e]0;%s\e\\' '<タイトル文字>'
みたいな出力をかます。
393: 2018/12/20(木)12:57 ID:eVBCtBcV(1) AAS
>>388
>>390
情報どうもです
evalが必要なようですね
スクリプト見直しの参考にします
394(2): 2018/12/22(土)14:00 ID:b6LODgj3(1) AAS
ディレクトリを移動するときのcdとカレントディレクトリを表示するpwdってそれぞれ何の略ですか?
395: 2018/12/22(土)14:20 ID:Kggs6Gd8(1/2) AAS
change directory
print working directory
じゃね?
上下前次1-新書関写板覧索設栞歴
あと 607 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s