[過去ログ] シェルスクリプト総合 その28 (620レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
10
(1): 名無しさん@お腹いっぱい。 [sage] 2018/08/02(木) 08:59:28.57 AAS
このスレは手違いで作成されたものです。

前スレ
2chスレ:unix
の流れを読むとわかる通り、
ワッチョイをつけられる板に移動しようという話になり、
特に反対も出ず
2chスレ:tech
への移動が決まりました。

このスレは利用せず、
2chスレ:tech
への移動をお願いします。
24
(1): 名無しさん@お腹いっぱい。 [] 2018/08/27(月) 14:07:03.57 AAS
>>22
22(4): 名無しさん@お腹いっぱい。 [sage] 2018/08/27(月) 12:16:09.32 AAS
wgetを使ってシェルスクリプトでダウンロードツールを作ったんだけど
ナロー回線だから出来るだけ無駄を省きたくて
-cオプションで既存ダウンロード分に追記する形にしてる
でも当然ならがコマンドが2重に発行されたらぐちゃぐちゃになるから
psコマンドでwgetを2重発行しないようにしてるけどちょっと不安
実際一部の文字がpsコマンドで「?」表示されてgrepに掛からなかったことがあり
ファイルが壊れたことがあった
ぶっちゃけダウンロードしてるのはニコニコの動画であり
(動画なんで視聴しないと壊れてるのかわからず厄介)
ID_タイトル.mp4とかの形式で保存してるんだけど
問題はマルチバイト文字のタイトルだから
「grep "${id}.*${extention}"」として回避
実際はもうちょっとコマンドの詳細まで見てるけど

こんな場合のベストってダウンロード先のファイル名に
プロセスID(wgetを実行するシェルスクリプトのプロセスID)を含めるようにして
状況に応じてファイル名を変えながらwgetするくらいしかないのかな?
既存ダウンロード分のmvに成功したらwgetするとかで
ファイルをロックする相当の処理を実現するイメージなんだけど

ちなみにナローじゃない回線を使うことがあったり
ダウンロード中に止まることがあるため
複数の動画を同時並行でダウンロードするつくりにしているため
この問題はぜひとも回避したいです
ファイルがオープンされているかを調べれば良いと思う

どうやるのかな
lsof が使えるなら

lsof -a -c '/^wget$/' "${filename}"
80: 名無しさん@お腹いっぱい。 [sage] 2018/11/09(金) 16:08:05.57 AAS
自己レス
-eq はtestコマンドのオプションで、==の事みたいですね
105: 名無しさん@お腹いっぱい。 [] 2018/12/26(水) 08:34:29.57 AAS
>>104
104(1): 名無しさん@お腹いっぱい。 [sage] 2018/12/26(水) 01:04:21.34 AAS
>>103
何がしたいのかよくわからないが
シェルスクリプト内の標準出力と標準エラー出力をファイルに出力するなら
#!/bin/bash
exec >script.log 2>&1
...
何したいかよくわからんって、
パワーシェルでいうStart-Transcriptをやりたいの
bashで一行ずつリダイレクトつけないとダメとかダサすぎる
301: 名無しさん@お腹いっぱい。 [sage] 2021/04/22(木) 18:02:08.57 AAS
LLのREPL使えばええやん
355: 名無しさん@お腹いっぱい。 [sage] 2021/05/21(金) 23:18:21.57 AAS
>>350
350(2): 名無しさん@お腹いっぱい。 [sage] 2021/05/21(金) 21:36:49.34 AAS
シェルスクリプトは連想配列が使えるから
原理的には高速
オーバーヘッドがない分
他の言語より早い場合が多いと思う
保守しにくいけど
>>352
352(1): 名無しさん@お腹いっぱい。 [sage] 2021/05/21(金) 22:08:05.49 AAS
ファイルサイズに依存するオーバーヘッドはメモリ上に載せる部分じゃろ?
全部載せてしまえば定数時間のはずだけど、上限とかなかったっけ

載せないで逐次処理なら固定長レコード上に添字でジャンプのデータベースには勝てない

載せても多分勝てないけど
問題はメモリ(連想配列)に載せた後
1件のデータを引いたら、そのまま終了してメモリを破棄するしかない
つまり1件検索する毎に全データを連想配列に読み込むw
464: 名無しさん@お腹いっぱい。 [sage] 2021/09/01(水) 11:21:33.57 AAS
間違った指摘してたくせにw
何で常時偉そうにしなきゃならんのだかだが、自覚ないアホか
493
(1): 名無しさん@お腹いっぱい。 [sage] 2021/11/19(金) 11:01:48.57 AAS
>forの場合に限らずglobはそういうもの
なので、
if [ "$(echo $f*)" != "$f*" ]
then
echo $f で始まるファイルがあります
fi
とかとも書ける
zshでnomatchだと余計なメッセージが出るし、>>489
489(6): 名無しさん@お腹いっぱい。 [sage] 2021/11/19(金) 02:41:59.96 AAS
特定の文字列で始まるファイルが存在するかの判断はどうすればいいでしょうか
ぐぐって見つけた ls を使う方法
if ls $f* > /dev/null 2>&1
then
echo $f で始まるファイルがあります
fi
だと該当ファイルが存在しない場合に
...にアクセスできません: そのようなファイルやディレクトリはありません
というエラーメッセージが表示されます。
また、
for g in $f* ; do
echo $f で始まるファイル $g があります
done
だと該当ファイルがない場合でもループの中に入ってしまいます。
のls使ってる方が見た目なにしたいのかわかりやすいと思うけど、いちおう
520
(2): 名無しさん@お腹いっぱい。 [sage] 2021/11/22(月) 00:23:14.57 AAS
>>518
518(1): 名無しさん@お腹いっぱい。 [sage] 2021/11/22(月) 00:16:59.61 AAS
>>515
> なんでPOSIX原理主義者に結びつけるのか意味わからん
そりゃPOSIX原理主義者に知識不足でマウント取られた恨みがあるから、というぐらいは読めるよねえ
イミフすぎな文で、読めないぞ
誰がPOSIX原理主義者なの?
裏読めないやつがPOSIX原理主義者ってことになる文だと思うけど、その文は

POSIX原理主義者って出てきたのは、>>510
510(1): 名無しさん@お腹いっぱい。 [sage] 2021/11/21(日) 23:40:47.87 AAS
「裏を読めない」と言った時点で
自分で書いてないって言ってるのってわかってないのかな?
思い込み激しすぎるんだよな
例のPOSIX原理主義者みたいだw
だぞ
>>510がPOSIX原理主義者?>>510のレスの相手であろう俺がPOSIX原理主義者??
527: 名無しさん@お腹いっぱい。 [sage] 2021/12/11(土) 13:46:58.57 AAS
fish_prompt
532
(2): 名無しさん@お腹いっぱい。 [sage] 2022/02/26(土) 23:09:30.57 AAS
端末では正常な
$declare -i w0=180 w1=30 w2=20 w3=50 ; w3=w3+(w0-w1)/10-1 ; echo $w3
ですが、shファイルで使うとなぜかエラーになります。(w? の数値は違います)
予期しないトークン `(' 周辺に構文エラーがあります w3=w3+(w0-w1)/10-1
ですが、分割すると通ります。
w2=(w0-w1)/10 ; w3=w3+w2-1
理由をご存知でしたら教えて下さい。
GNU bash, バージョン 5.0.17(1)
600: 名無しさん@お腹いっぱい。 [sage] 2022/11/06(日) 16:47:34.57 AAS
恥を忍んで質問させて下さい:
Larry Wallせんせーが書いたmetaconfigが普及せずに、同じ機能を果たす、
Autoconf/Autotoolsが普及した理由って何でしょう?
1)Perlよりm4の方が普及してた(どっちも文法はアレだけど)
2)というかPerl嫌いな人が少なくなかった
3)そのほか(開発モデルとか)

...imakeって何だっけ?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s