シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その33
https://mevius.5ch.net/test/read.cgi/tech/1584893550/
探検
シェルスクリプト総合 その34
レス数が1000を超えています。これ以上書き込みはできません。
2020/08/21(金) 15:17:55.64ID:mArnj/tT
952946
2020/11/18(水) 16:43:39.93ID:oGkGNlvA 正しく出力される。
実際には、c, d, f などは出力されていないけど
a,2020-11-17,aaa
b,2020-11-18,bbb
c
d
e,2020-11-21,eee
f
g,2020-11-23,ggg
h,2020-11-24,hhh
i
j,2020-11-26,jjj
k,2020-11-27,kkk
l,2020-11-28,lll
m
n
o,2020-12-01,ooo
p,2020-12-02,ppp
q,2020-12-03,qqq
r
s,2020-12-05,sss
t,2020-12-06,ttt
u
実際には、c, d, f などは出力されていないけど
a,2020-11-17,aaa
b,2020-11-18,bbb
c
d
e,2020-11-21,eee
f
g,2020-11-23,ggg
h,2020-11-24,hhh
i
j,2020-11-26,jjj
k,2020-11-27,kkk
l,2020-11-28,lll
m
n
o,2020-12-01,ooo
p,2020-12-02,ppp
q,2020-12-03,qqq
r
s,2020-12-05,sss
t,2020-12-06,ttt
u
953デフォルトの名無しさん
2020/11/18(水) 17:46:13.72ID:XsHXPiSN954デフォルトの名無しさん
2020/11/18(水) 22:39:32.53ID:c4VI5UKm フィールド数が想定がところがあるとエラーで getline が呼ばれなくて
var がそのままになったりするのかも?
var がそのままになったりするのかも?
955デフォルトの名無しさん
2020/11/18(水) 22:40:20.82ID:c4VI5UKm 想定が -> 想定外な
956デフォルトの名無しさん
2020/11/18(水) 23:00:38.15ID:XsHXPiSN957デフォルトの名無しさん
2020/11/18(水) 23:22:35.65ID:2l0B+GoX AWKのgetlineってめっちゃ便利よね。
これ使い始めたらもうシェルスクリプトじゃなくてAWKスクリプトになるけどw
これ使い始めたらもうシェルスクリプトじゃなくてAWKスクリプトになるけどw
958デフォルトの名無しさん
2020/11/18(水) 23:25:59.76ID:XsHXPiSN959デフォルトの名無しさん
2020/11/19(木) 02:55:11.75ID:kL0AGIHT まず再現するデータをよこせ
960デフォルトの名無しさん
2020/11/19(木) 07:48:43.53ID:jemYGepS 元ネタの人じゃないけど以下のデータでおかしくなった。
a.txt
a x Nov 17 2020 aaa
b x Nov 18 2020 bbb
c x Nov 18 2020 ccc
d x Nov 19 2020 ddd
d x
e x Nov 19 2020 eee
f x Nov 20 2020 fff
d の行以降の日付が今日の日付になった。Ubuntu 16.04.7。
なんかデータをちょっといじると再現しなくなるような感もある。
a.txt
a x Nov 17 2020 aaa
b x Nov 18 2020 bbb
c x Nov 18 2020 ccc
d x Nov 19 2020 ddd
d x
e x Nov 19 2020 eee
f x Nov 20 2020 fff
d の行以降の日付が今日の日付になった。Ubuntu 16.04.7。
なんかデータをちょっといじると再現しなくなるような感もある。
961946
2020/11/19(木) 10:41:14.25ID:uVXRNBYq >>960
d x
という変な行も、データに入れるのか?
Windows 10, WSL2, Ubuntu 18.04 では、下のように出力された
a,2020-11-17,aaa
b,2020-11-18,bbb
c,2020-11-18,ccc
d,2020-11-19,ddd
d,2020-11-19,
e,2020-11-19,eee
f,2020-11-20,fff
d x
という変な行も、データに入れるのか?
Windows 10, WSL2, Ubuntu 18.04 では、下のように出力された
a,2020-11-17,aaa
b,2020-11-18,bbb
c,2020-11-18,ccc
d,2020-11-19,ddd
d,2020-11-19,
e,2020-11-19,eee
f,2020-11-20,fff
962デフォルトの名無しさん
2020/11/19(木) 21:37:07.41ID:ACSoydf1 >>961
そう。わざと壊れたデータで遊んでみているw
確実に再現できるバグは、ある意味治すのは易しい。
再現方法がよくわからんバグは...どうしたら再現するかを考えるのも一興かとw
あしまった、データが違ったかも。こうかな。
a x Nov 17 2020 aaa
b x Nov 18 2020 bbb
c x Nov 18 2020 ccc
d x Nov 20 2020 ddd
d x
e x Nov 20 2020 eee
f x Nov 20 2020 fff
そう。わざと壊れたデータで遊んでみているw
確実に再現できるバグは、ある意味治すのは易しい。
再現方法がよくわからんバグは...どうしたら再現するかを考えるのも一興かとw
あしまった、データが違ったかも。こうかな。
a x Nov 17 2020 aaa
b x Nov 18 2020 bbb
c x Nov 18 2020 ccc
d x Nov 20 2020 ddd
d x
e x Nov 20 2020 eee
f x Nov 20 2020 fff
963デフォルトの名無しさん
2020/11/19(木) 21:49:05.89ID:pLwLwTYy ちなみにdateコマンドは日付が空だと今日の日付を入れるようなので
Nov 20になる前に試すのがおすすめw
Nov 20になる前に試すのがおすすめw
964946
2020/11/20(金) 02:15:19.68ID:pwTm9Uxw このデータでやった。
b が今日の日付になる
a x Nov 03 2020 aaa
b x
c x Nov 05 2020 ccc
d x Nov 06 2020 ddd
出力
a,2020-11-03,aaa
b,2020-11-20,
c,2020-11-05,ccc
d,2020-11-06,ddd
b が今日の日付になる
a x Nov 03 2020 aaa
b x
c x Nov 05 2020 ccc
d x Nov 06 2020 ddd
出力
a,2020-11-03,aaa
b,2020-11-20,
c,2020-11-05,ccc
d,2020-11-06,ddd
965デフォルトの名無しさん
2020/11/20(金) 14:19:37.94ID:EGUOn9wt966デフォルトの名無しさん
2020/11/23(月) 08:04:11.39ID:bkMAXdue ループ処理をバックグラウンドで流すと500個ぐらいプロセスができて
まったく動かない。いい方法ないかな。
まったく動かない。いい方法ないかな。
967デフォルトの名無しさん
2020/11/23(月) 08:50:42.89ID:eEk7O1Jq968デフォルトの名無しさん
2020/11/23(月) 10:20:31.35ID:QFnswc7I >>966
シェルの問題なんだろうか…?
シェルの問題なんだろうか…?
969デフォルトの名無しさん
2020/11/23(月) 11:57:26.98ID:fPgs5Hol 10万行のループ処理にかかる時間は、while は5秒、for は9分。
それらを、awk, perl に書き直せば、0.1秒
forの時間のほとんどは、プロセスの起動・終了処理。
そもそも、bash はループ処理に向いていないので、dash を使う。
それでも、シェルスクリプトはループ処理に向いていない
awk, perl, Ruby などは、1プロセス内で処理するから、
シェルスクリプトよりも断然速い
それらを、awk, perl に書き直せば、0.1秒
forの時間のほとんどは、プロセスの起動・終了処理。
そもそも、bash はループ処理に向いていないので、dash を使う。
それでも、シェルスクリプトはループ処理に向いていない
awk, perl, Ruby などは、1プロセス内で処理するから、
シェルスクリプトよりも断然速い
970デフォルトの名無しさん
2020/11/23(月) 12:55:10.05ID:eEk7O1Jq 古いCorei7だけどbashで0.5秒で終わるぞ?
$ time -p bash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.53
user 0.51
sys 0.00
dashなら0.15秒だな
$ time -p dash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.15
user 0.14
sys 0.01
$ time -p bash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.53
user 0.51
sys 0.00
dashなら0.15秒だな
$ time -p dash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.15
user 0.14
sys 0.01
971デフォルトの名無しさん
2020/11/23(月) 12:58:14.53ID:eEk7O1Jq > forの時間のほとんどは、プロセスの起動・終了処理。
forでプロセス起動なんてしないけど?
forでプロセス起動なんてしないけど?
972デフォルトの名無しさん
2020/11/23(月) 13:16:27.49ID:LSu3Ppxv973デフォルトの名無しさん
2020/11/23(月) 13:22:54.01ID:LSu3Ppxv974969
2020/11/23(月) 13:37:45.01ID:fPgs5Hol >>970
漏れは、6年前のパソコン工房の初心者向けノートPC、
Windows 10 Home, 64 bit, 20H2(2020 秋)
WSL2, Ubuntu 18.04
CPU は、i3-3120M。2 core, 4 thread のエコモード。
8GB メモリで、
bash
real 1.53
user 1.53
sys 0.00
dash
real 0.42
user 0.42
sys 0.00
漏れは、6年前のパソコン工房の初心者向けノートPC、
Windows 10 Home, 64 bit, 20H2(2020 秋)
WSL2, Ubuntu 18.04
CPU は、i3-3120M。2 core, 4 thread のエコモード。
8GB メモリで、
bash
real 1.53
user 1.53
sys 0.00
dash
real 0.42
user 0.42
sys 0.00
975968
2020/11/23(月) 14:12:23.68ID:QFnswc7I >>970
$ time -p bash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.30
user 0.30
sys 0.00
$ time -p dash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.11
user 0.11
sys 0.00
OS: Gentoo via WSL2 on Windows 10 (build 20262.1010)
CPU: AMD Ryzen 7 3700X
RAM: 16 GiB, 2666 MHz
$ time -p bash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.30
user 0.30
sys 0.00
$ time -p dash -c 'i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done'
real 0.11
user 0.11
sys 0.00
OS: Gentoo via WSL2 on Windows 10 (build 20262.1010)
CPU: AMD Ryzen 7 3700X
RAM: 16 GiB, 2666 MHz
976968
2020/11/23(月) 14:12:52.26ID:QFnswc7I 多分ね,遅いのはシェルのせいじゃない。
組み方がおかしい。
組み方がおかしい。
977デフォルトの名無しさん
2020/11/23(月) 16:34:44.84ID:iaIJT3SX テキストファイルの中にカレントディレクトリを基準にしたファイルリストがあります。
このテキストファイルのファイルリストのファイルを~/backap/以下にディレクトリ構造を
維持したままコピーする方法を教えてください。
ファイルリストに含まれるパスは全てファイルです。ディレクトリで終わるパスは含まれません。
./file/jidori.jpg
./nikki/2020/11/01.txt
↑こんな感じのがたくさんあります
このテキストファイルのファイルリストのファイルを~/backap/以下にディレクトリ構造を
維持したままコピーする方法を教えてください。
ファイルリストに含まれるパスは全てファイルです。ディレクトリで終わるパスは含まれません。
./file/jidori.jpg
./nikki/2020/11/01.txt
↑こんな感じのがたくさんあります
978デフォルトの名無しさん
2020/11/23(月) 17:18:30.33ID:nsFhHMUZ $ rsync -a ―files-from=./file_list.txt . ~/backap
979デフォルトの名無しさん
2020/11/23(月) 18:16:32.54ID:hekS2Nxq $ cp -pr ./* ~/backup
ではいかんのか?
ではいかんのか?
980デフォルトの名無しさん
2020/11/23(月) 20:09:16.39ID:QFnswc7I ちなみにbackapじゃなくてbackupな
981デフォルトの名無しさん
2020/11/23(月) 20:59:12.22ID:bsUMpvvq >>979
あほ?
あほ?
982デフォルトの名無しさん
2020/11/24(火) 07:52:34.13ID:4nyZROoo rsync -avをよく使う
983977
2020/11/24(火) 18:17:20.50ID:xCsiFrs4 大変助かりました!ありがとうございます!!
984デフォルトの名無しさん
2020/11/24(火) 20:21:52.33ID:mbTiTj6s 次スレそろそろ……
985デフォルトの名無しさん
2020/11/24(火) 21:38:15.89ID:mbTiTj6s 言い出しっぺなんで建てました。
https://mevius.5ch.net/test/read.cgi/tech/1606221440
https://mevius.5ch.net/test/read.cgi/tech/1606221440
986デフォルトの名無しさん
2020/11/24(火) 23:19:57.68ID:EBaS3Lgi しっぺ
デコピン
馬場チョップ
デコピン
馬場チョップ
987デフォルトの名無しさん
2020/11/25(水) 00:18:39.96ID:jf5n46hh しっぷ
デブちょん
バカちょんぷ
デブちょん
バカちょんぷ
988デフォルトの名無しさん
2020/12/10(木) 10:37:09.61ID:/AM+Meb9 (´・ω・`)
989デフォルトの名無しさん
2020/12/10(木) 14:19:01.84ID:/AM+Meb9 (´・ω・`)
990デフォルトの名無しさん
2020/12/11(金) 08:55:47.30ID:8Z169BTH うめ!!!
991デフォルトの名無しさん
2020/12/11(金) 08:55:56.82ID:8Z169BTH うめっ11
992デフォルトの名無しさん
2020/12/11(金) 08:56:03.69ID:8Z169BTH うめあ
993デフォルトの名無しさん
2020/12/11(金) 08:56:11.79ID:8Z169BTH うめい
994デフォルトの名無しさん
2020/12/11(金) 08:56:19.82ID:8Z169BTH うめうえ
995デフォルトの名無しさん
2020/12/11(金) 08:56:26.45ID:8Z169BTH うめえ
996デフォルトの名無しさん
2020/12/11(金) 08:56:36.33ID:8Z169BTH うめめt
997デフォルトの名無しさん
2020/12/11(金) 08:56:45.14ID:8Z169BTH ume
998デフォルトの名無しさん
2020/12/11(金) 08:56:52.52ID:8Z169BTH umeru
999デフォルトの名無しさん
2020/12/11(金) 08:57:00.61ID:8Z169BTH uue
1000デフォルトの名無しさん
2020/12/11(金) 08:57:08.73ID:8Z169BTH ume
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 111日 17時間 39分 13秒
新しいスレッドを立ててください。
life time: 111日 17時間 39分 13秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【対日戦略】中国とロシア、対日共闘で一致 「軍国主義復活に反撃」… ★5 [BFU★]
- 【対日戦略】中国とロシア、対日共闘で一致 「軍国主義復活に反撃」… ★6 [BFU★]
- 【フジテレビ】『サン!シャイン』3月で終了 放送わずか1年… 谷原章介MC起用も 視聴率低迷、3%台の壁を越えれず 後継番組はなし [冬月記者★]
- 【話題】おでんの好きな具は?! 「だいこん」「たまご」「もち巾着」「ちくわぶ」「こんにゃく」「牛すじ」★2 [ひぃぃ★]
- 【文春】松岡昌宏が「日本テレビへの戸惑い」を語った!「鉄腕DASHの出演について、我々に進退を決める選択肢はないんだなと思った」 [Ailuropoda melanoleuca★]
- 【社会】丸亀製麺12月24日は15時30分で閉店 従業員とその家族のため [あずささん★]
- 俺「父さん、ネトウヨをボコってもいい?」中国「ああ、いいぞ。処刑もお前に任せた」 [805596214]
- 海外のネット見ると6割くらい左翼みたいな奴で向こうのネトウヨは4割~それ以下(3割程度)だけど日本は8割ネトウヨしかいないよな [685321817]
- 【悲報】解剖医「安倍晋三の遺体には潰瘍性大腸炎の痕跡がなかった」えっ😨 [746833765]
- じゃん拳、グー🏡💥👊😅👊💥🏡
- 中華人民共和国の外務省「サンフランシスコ講和条約は無効!そのため...」
- 高市早苗「黙って俺に投資しろ」→日本国債暴落止まらず [709039863]
