シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その29
https://mevius.5ch.net/test/read.cgi/tech/1537540487/
シェルスクリプト総合 その30
■ このスレッドは過去ログ倉庫に格納されています
2019/07/01(月) 23:04:27.02ID:/rKj5XUf
490デフォルトの名無しさん
2019/08/03(土) 00:25:50.69ID:i7fqO3Sj491デフォルトの名無しさん
2019/08/03(土) 00:33:21.53ID:dYT3TwZL 自分は
キーボードの左側: # -> prefix
キーボードの右側: % -> suffix
で、削るんだっったっけ?残すんだったっけ?
結局毎回調べるという体たらく
キーボードの左側: # -> prefix
キーボードの右側: % -> suffix
で、削るんだっったっけ?残すんだったっけ?
結局毎回調べるという体たらく
492デフォルトの名無しさん
2019/08/03(土) 00:40:18.71ID:9AEx1UEu >>490
thanks
thanks
493デフォルトの名無しさん
2019/08/03(土) 00:57:31.70ID:37D8ZUar >>482
ブラウザでF12キーでコンソール開いて、
var q = (xml, query) => new DOMParser().parseFromString(`<xml>${xml}</xml>`, 'application/xml').querySelector(query).innerHTML.trim();
var text = q(`
<td>
AAAA
</td>
<td>
BBBB
</td>
`, 'td:nth-of-type(2)');
console.log(text); //=> BBBB
xmlとしてのパースだから、
q(`<chinko>AAAA</chinko><chinko>BBBB</chinko>`, 'chinko:nth-of-type(2)');
とかでも大丈夫。
一方htmlとしてもパースできるけど少なくともtableタグは補わなきゃならんね↓
var q = (html, query) => new DOMParser().parseFromString(html, 'text/html').querySelector(query).innerHTML.trim();
var text = q(`
<table>
<td>
AAAA
</td>
<td>
BBBB
</td>
</table>
`, 'td:nth-of-type(2)');
console.log(text); //=> BBBB
ブラウザでF12キーでコンソール開いて、
var q = (xml, query) => new DOMParser().parseFromString(`<xml>${xml}</xml>`, 'application/xml').querySelector(query).innerHTML.trim();
var text = q(`
<td>
AAAA
</td>
<td>
BBBB
</td>
`, 'td:nth-of-type(2)');
console.log(text); //=> BBBB
xmlとしてのパースだから、
q(`<chinko>AAAA</chinko><chinko>BBBB</chinko>`, 'chinko:nth-of-type(2)');
とかでも大丈夫。
一方htmlとしてもパースできるけど少なくともtableタグは補わなきゃならんね↓
var q = (html, query) => new DOMParser().parseFromString(html, 'text/html').querySelector(query).innerHTML.trim();
var text = q(`
<table>
<td>
AAAA
</td>
<td>
BBBB
</td>
</table>
`, 'td:nth-of-type(2)');
console.log(text); //=> BBBB
494デフォルトの名無しさん
2019/08/03(土) 03:42:42.10ID:eOXqQaf9495デフォルトの名無しさん
2019/08/03(土) 04:43:13.91ID:i7fqO3Sj >>494
俺含め日本人には#42みたいなのは馴染み薄いよね…
まあ「全く知らない概念」ではなかったから
とりあえず#は前,%は後,というように覚えられたけど。
コメントっていうのはいい案だと思う。
シェルスクリプトを書いている全員が把握できる概念だから。
俺含め日本人には#42みたいなのは馴染み薄いよね…
まあ「全く知らない概念」ではなかったから
とりあえず#は前,%は後,というように覚えられたけど。
コメントっていうのはいい案だと思う。
シェルスクリプトを書いている全員が把握できる概念だから。
496デフォルトの名無しさん
2019/08/03(土) 05:33:16.75ID:20yQPXqo ナンバナィン?
#はスーパーユーザで%はcshだな
#はスーパーユーザで%はcshだな
497デフォルトの名無しさん
2019/08/03(土) 06:07:39.94ID:l2kKbyZy シェルスクリプトの#と%はなんとなく使えてるが正規表現の前後読みは未だに無理ポ
498デフォルトの名無しさん
2019/08/03(土) 06:23:53.55ID:i7fqO3Sj 正規表現の割と新しめの拡張は
既存のメタ文字と被らないようになってるから類推しにくい記号になってしまってる場合が多い。
…まあ出典とかなくて俺の予想だけどw
最近だと「名前空間」的な概念が登場して\p{Kata}みたいな書き方が増えてきて助かる。
覚えるの簡単!
既存のメタ文字と被らないようになってるから類推しにくい記号になってしまってる場合が多い。
…まあ出典とかなくて俺の予想だけどw
最近だと「名前空間」的な概念が登場して\p{Kata}みたいな書き方が増えてきて助かる。
覚えるの簡単!
499デフォルトの名無しさん
2019/08/03(土) 08:10:24.89ID:GWDLl7Iz なんのこっちゃと思ったら.NETか
[:Katakana:]でいいんじゃないか。すでにあるからわかりやすいし
思惑でそうしてないんだろうけど
[:Katakana:]でいいんじゃないか。すでにあるからわかりやすいし
思惑でそうしてないんだろうけど
500デフォルトの名無しさん
2019/08/03(土) 09:10:18.89ID:i7fqO3Sj501デフォルトの名無しさん
2019/08/03(土) 09:11:02.22ID:i7fqO3Sj 逆に.NETでUnicodeロケールの正規表現が使えるとは思いもよらなんだ
502デフォルトの名無しさん
2019/08/03(土) 09:42:41.49ID:9AEx1UEu ...| perl -pe 's{" [^"]+ "}{ $& =~ s/ /-/gr }xeg'|...
awk でもできるかもしれないけどこの正規表現が便利
"text with blank space" の中だけ空白を-で詰め物するのに使っている
空白があると正常に動作しないコードの前パイプに挟む
awk でもできるかもしれないけどこの正規表現が便利
"text with blank space" の中だけ空白を-で詰め物するのに使っている
空白があると正常に動作しないコードの前パイプに挟む
503デフォルトの名無しさん
2019/08/03(土) 10:30:59.00ID:i7fqO3Sj >>502
なんかコマンドの引数の仕様とかを利用して
POSIXの範囲で実装できそう。
もちろんperlで十分だけど。
abc def "text with blacket" dee
に対して
abc def "text-with-blacket" dee
ってい出力を返す訳だから
for str in abc def "text-with-blacket" dee; do
printf '%s\n' "$str" | tr ' ' '-'
done | tr '\n' ' '
とか?
あ,駄目だこれだと"が戻ってこねーw
なんかコマンドの引数の仕様とかを利用して
POSIXの範囲で実装できそう。
もちろんperlで十分だけど。
abc def "text with blacket" dee
に対して
abc def "text-with-blacket" dee
ってい出力を返す訳だから
for str in abc def "text-with-blacket" dee; do
printf '%s\n' "$str" | tr ' ' '-'
done | tr '\n' ' '
とか?
あ,駄目だこれだと"が戻ってこねーw
504デフォルトの名無しさん
2019/08/03(土) 11:33:18.72ID:63RDVzrz 無理やり
echo 'abc def "text with blcket" dee' |
sed -E 's:^(.*)"([^"]*)"(.*)$:printf "%s\\"%s\\"%s\n" "\1" $(echo "\2"|tr " " "-") "\3":e'
echo 'abc def "text with blcket" dee' |
sed -E 's:^(.*)"([^"]*)"(.*)$:printf "%s\\"%s\\"%s\n" "\1" $(echo "\2"|tr " " "-") "\3":e'
505デフォルトの名無しさん
2019/08/03(土) 11:35:32.45ID:l2kKbyZy $ echo やまだヤマダ山田 | grep -oP "\p{Katakana}"
ヤ
マ
ダ
-o使うと改行されるのね
ヤ
マ
ダ
-o使うと改行されるのね
506デフォルトの名無しさん
2019/08/03(土) 12:22:48.42ID:63RDVzrz スペース区切りでよければ
$ echo やまだヤマダ山田 | grep -oP "\p{Katakana}" | xargs
ヤ マ ダ
$ echo やまだヤマダ山田 | grep -oP "\p{Katakana}" | xargs
ヤ マ ダ
507デフォルトの名無しさん
2019/08/03(土) 13:09:38.57ID:H1MpioV8508デフォルトの名無しさん
2019/08/03(土) 13:55:12.22ID:dYT3TwZL 40秒で支度しな
509デフォルトの名無しさん
2019/08/04(日) 17:11:27.60ID:d0z5l48N 俺だったらperl使って全部読んで長い一行として扱って抜き出すか、または XML::Simple モジュール使って変数に展開してから取り出すかするかな。
つまり、シェルスクリプトは使わない。やってやれないことはないと思うが複雑怪奇なものになりそうなので。
つまり、シェルスクリプトは使わない。やってやれないことはないと思うが複雑怪奇なものになりそうなので。
510デフォルトの名無しさん
2019/08/04(日) 17:12:43.83ID:d0z5l48N あ、リロード忘れて書いたら山盛りで他の書き込みが・・・
俺の書いたことは忘れてくれ。
俺の書いたことは忘れてくれ。
511デフォルトの名無しさん
2019/08/04(日) 17:13:02.34ID:arZQ1GVT 【小沢が育てた刺客】 山本太郎「政権を仕留める」
http://lavender.5ch.net/test/read.cgi/giin/1564896780/l50
http://lavender.5ch.net/test/read.cgi/giin/1564896780/l50
512デフォルトの名無しさん
2019/08/04(日) 18:10:11.11ID:d0z5l48N 丸くても刺客
513デフォルトの名無しさん
2019/08/04(日) 18:11:50.20ID:M00OQnGm 40秒で刺客しな
514デフォルトの名無しさん
2019/08/04(日) 18:22:43.73ID:OC9PgLo7 PythonのBeautifulSoupだと、パーサーにCで書かれたlxmlを選べるようになってるんだが、
そういうの使えば、シェルの方が断然速いとはならないんじゃないかな?
PerlとかRubyにも似たようなのはあるでしょ。
そういうの使えば、シェルの方が断然速いとはならないんじゃないかな?
PerlとかRubyにも似たようなのはあるでしょ。
515デフォルトの名無しさん
2019/08/04(日) 18:40:40.05ID:zjBZp1dd ディレクトリに、test01 〜 test99 ファイルがある時に、
test100, test101 と、ファイルを増やしていくと、
表示順が、test20, test21 などよりも、
test100, test101 の方が、先に来るようになった
これらを数字順で表示するには、どういうフィルターを作れば良いでしょう?
まあ、すべてのファイル名を、test001 など、3桁表示に変えれば、解決するけど
test100, test101 と、ファイルを増やしていくと、
表示順が、test20, test21 などよりも、
test100, test101 の方が、先に来るようになった
これらを数字順で表示するには、どういうフィルターを作れば良いでしょう?
まあ、すべてのファイル名を、test001 など、3桁表示に変えれば、解決するけど
516デフォルトの名無しさん
2019/08/04(日) 19:18:29.22ID:ApCAdEzq >>515
プレフィクスが一緒なら
そのプレフィクスと0パディングを切り取ってsortに掛ければいいんじゃないかな。
で並び換えたものにプレフィクスと%0dを追加する。
ファイル名じゃなくてすまんが↓こんな感じ?
$ <<. sed 's/test0*//1' | sort -n | while read line; do printf 'test%02d\n' $line; done
test99
test100
test21
test01
test20
test101
.
プレフィクスが一緒なら
そのプレフィクスと0パディングを切り取ってsortに掛ければいいんじゃないかな。
で並び換えたものにプレフィクスと%0dを追加する。
ファイル名じゃなくてすまんが↓こんな感じ?
$ <<. sed 's/test0*//1' | sort -n | while read line; do printf 'test%02d\n' $line; done
test99
test100
test21
test01
test20
test101
.
517516
2019/08/04(日) 19:38:16.75ID:ApCAdEzq 改良。あとsort -nって0埋め関係ないんだな。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sort.html#tag_20_119_04
ls -1 test* | sed 's/^test//' | sort -n | xargs -I @ printf 'test%02d\n' @
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sort.html#tag_20_119_04
ls -1 test* | sed 's/^test//' | sort -n | xargs -I @ printf 'test%02d\n' @
518デフォルトの名無しさん
2019/08/04(日) 19:45:40.73ID:ZVJM9ExE519デフォルトの名無しさん
2019/08/04(日) 20:01:45.96ID:hlZDnb3L >>515
ls -v
ls -v
520デフォルトの名無しさん
2019/08/04(日) 20:02:42.33ID:/i7K4ZYC >>515
GNU coreutils の ls コマンドなら -v オプションで version sort してくれる
$ ls -v test*
$ man ls
-v natural sort of (version) numbers within text
GNU coreutils の ls コマンドなら -v オプションで version sort してくれる
$ ls -v test*
$ man ls
-v natural sort of (version) numbers within text
521デフォルトの名無しさん
2019/08/04(日) 20:05:19.04ID:KSih4AJE となるとMacは切り捨てだな
522デフォルトの名無しさん
2019/08/04(日) 20:06:51.77ID:ZVJM9ExE おお、lsにも-vオプションあったっけ
524デフォルトの名無しさん
2019/08/04(日) 21:11:25.12ID:WhAPGaK9 sort --help には
-V, --version-sort 自然な (バージョン) 数字順でソートする
って書いてあるけどさ、これセマンティクスバージョニングでの
比較にちゃんとなってるの?正確な仕様がわからん
-V, --version-sort 自然な (バージョン) 数字順でソートする
って書いてあるけどさ、これセマンティクスバージョニングでの
比較にちゃんとなってるの?正確な仕様がわからん
525デフォルトの名無しさん
2019/08/04(日) 21:14:26.03ID:ApCAdEzq なんにせよ可搬性ないからあまり使わんほうがいい
526デフォルトの名無しさん
2019/08/04(日) 23:41:22.05ID:fspxWXLG シェルスクリプトに可搬性期待するなって結論出たろ
527デフォルトの名無しさん
2019/08/05(月) 00:49:19.74ID:uR0Am4u5 bashごと持って行けばいいんじゃね?
他のインタプリタ系の言語ってみんなそうしてるっしょ?
他のインタプリタ系の言語ってみんなそうしてるっしょ?
528デフォルトの名無しさん
2019/08/05(月) 00:58:52.07ID:lQJxfKJu529デフォルトの名無しさん
2019/08/05(月) 01:59:22.26ID:053u+cPb sortは-hもよく使うな
du -hc * | sort -hみたいに
du -hc * | sort -hみたいに
530デフォルトの名無しさん
2019/08/05(月) 02:53:17.73ID:IFzEkeeB >>527
sortコマンドはBash組込みコマンドじゃないから関係ないんじゃ…
sortコマンドはBash組込みコマンドじゃないから関係ないんじゃ…
531デフォルトの名無しさん
2019/08/05(月) 04:07:47.17ID:RegSSUKZ busyboxをスクリプトに同梱して、
全部これに解釈させればいいじゃん
ashに加えて、よく使うコマンドも一緒についてくる
全部これに解釈させればいいじゃん
ashに加えて、よく使うコマンドも一緒についてくる
532デフォルトの名無しさん
2019/08/05(月) 04:23:15.10ID:IFzEkeeB いいじゃんと言われても…いいね。としか答えようがないw
533デフォルトの名無しさん
2019/08/05(月) 06:43:25.45ID:IFzEkeeB exitコマンドってexit $?とやってやらなくても前に実行したコマンドの終了コードを見てくれるんだな。
ずっとexit $?ってやってたわw
ずっとexit $?ってやってたわw
534デフォルトの名無しさん
2019/08/05(月) 07:20:51.08ID:O6CFE/yb if $? でやるより
&& || で分岐したほうが らしい 感じにならないか?
&& || で分岐したほうが らしい 感じにならないか?
535デフォルトの名無しさん
2019/08/05(月) 08:03:05.75ID:IFzEkeeB >>534
ああいや。
埋め込みシェルスクリプト(←なんて呼べばいいのか知らんけど
実行形式のファイルで冒頭に書かれてることがある
そのファイル自身を伸長するシェルスクリプトのこと)
で使ってたのよ。
#!/bin/sh
< "$0" sed -n '5,$p' | unar -
exit $?
こっからZIP
↑みたいに。
ああいや。
埋め込みシェルスクリプト(←なんて呼べばいいのか知らんけど
実行形式のファイルで冒頭に書かれてることがある
そのファイル自身を伸長するシェルスクリプトのこと)
で使ってたのよ。
#!/bin/sh
< "$0" sed -n '5,$p' | unar -
exit $?
こっからZIP
↑みたいに。
536デフォルトの名無しさん
2019/08/05(月) 11:46:23.87ID:MNXFY7cg tputの存在理由はわかるが
現実的な問題として、どういう場合にtput使ってよかったって思える?
もうエスケープシーケンス決め打ちでよくね?
現実的な問題として、どういう場合にtput使ってよかったって思える?
もうエスケープシーケンス決め打ちでよくね?
537デフォルトの名無しさん
2019/08/05(月) 12:52:22.28ID:IFzEkeeB clearコマンドがPOSIXで定められていないのをいいことに実装されていない環境がある。
そのときにtput clear。
そのときにtput clear。
538デフォルトの名無しさん
2019/08/05(月) 13:19:56.72ID:MNXFY7cg > 実装されていない環境がある。
「現実的な問題」っていうのはその実装されてない環境なんて、
今どきあるの?って話なんだよ。
「現実的な問題」っていうのはその実装されてない環境なんて、
今どきあるの?って話なんだよ。
539デフォルトの名無しさん
2019/08/05(月) 13:23:05.75ID:MNXFY7cg clearが実装されてない環境より
tputが実装されてない環境のほうが多くて、
tputを使うと逆に動かない環境の方が多くなっちゃう
例えばbusyboxとかalpine linuxとか
tputが実装されてない環境のほうが多くて、
tputを使うと逆に動かない環境の方が多くなっちゃう
例えばbusyboxとかalpine linuxとか
540デフォルトの名無しさん
2019/08/05(月) 13:31:42.54ID:O6CFE/yb which clear >/dev/null 2>&1 && echo has || echo 404
両対応書いておけばいい
両対応書いておけばいい
541デフォルトの名無しさん
2019/08/05(月) 14:26:42.83ID:MNXFY7cg /usr/share/terminfoの中を見てみたが、
シンボリックリンクを抜かして1700ものファイルがあった。
なるほどこれは大変だ。だがその中でどれだけのものが使われているのだろうか?
またどれだけ違いがあるのだろうか?ほとんどは細かい(殆ど使われない)
機能の違いでしか無いのではないか?
大抵は色を変えるぐらいしか使わないだろうし、
それ以上使っても画面サイズとカーソル移動ぐらいだろう。
数パターンしか違わないのであれば、独自対応も可能だろう。
実用レベルで考えるとtputを使うことは、使わないよりもデメリットが大きい気がしている。
シンボリックリンクを抜かして1700ものファイルがあった。
なるほどこれは大変だ。だがその中でどれだけのものが使われているのだろうか?
またどれだけ違いがあるのだろうか?ほとんどは細かい(殆ど使われない)
機能の違いでしか無いのではないか?
大抵は色を変えるぐらいしか使わないだろうし、
それ以上使っても画面サイズとカーソル移動ぐらいだろう。
数パターンしか違わないのであれば、独自対応も可能だろう。
実用レベルで考えるとtputを使うことは、使わないよりもデメリットが大きい気がしている。
542デフォルトの名無しさん
2019/08/05(月) 14:33:25.56ID:IMjI9HmJ vt100, xterm 以外設定した覚えがないな
543デフォルトの名無しさん
2019/08/05(月) 14:47:57.15ID:MNXFY7cg おそらく端末名の後ろは細かいバリエーションだろうからと削ってみたら789種類にまで減った
それでも数が多すぎるかつこんなの誰も使ってないやろと思ってしまって
何が違うのか把握する気が起きないレベル
でもinfocmpとか便利だな。よし俺の中で方針が決まった。
もしこれらの端末に対応しなければいけない自体になったら、
プログラムで直接tputを使用するのではなく、tputと同じ引き数で関数を実行しますから、
それで出力するエスケープシーケンスは設定ファイルで書き換えられるって方式にしよう。
さしあたって、現状、色を変えるだけしかやっとらんのだがtput使う必要あるのかな?
それでも数が多すぎるかつこんなの誰も使ってないやろと思ってしまって
何が違うのか把握する気が起きないレベル
でもinfocmpとか便利だな。よし俺の中で方針が決まった。
もしこれらの端末に対応しなければいけない自体になったら、
プログラムで直接tputを使用するのではなく、tputと同じ引き数で関数を実行しますから、
それで出力するエスケープシーケンスは設定ファイルで書き換えられるって方式にしよう。
さしあたって、現状、色を変えるだけしかやっとらんのだがtput使う必要あるのかな?
544デフォルトの名無しさん
2019/08/05(月) 14:55:51.10ID:uR0Am4u5 なんであるものを使わないんだろう
二段階認証おじさんみたいな頭の構造なんだろうか
二段階認証おじさんみたいな頭の構造なんだろうか
545デフォルトの名無しさん
2019/08/05(月) 15:27:49.43ID:MNXFY7cg > なんであるものを使わないんだろう
書いたでしょ? tputコマンドがない環境が現実としてある。
書いたでしょ? tputコマンドがない環境が現実としてある。
546デフォルトの名無しさん
2019/08/05(月) 15:54:00.38ID:MNXFY7cg 簡単なスクリプトを書いて、とりあえずcolsについて
データベースに登録されてる1700端末をすべて調べてみたが
すべてが 0x31 0x33 0x31 0x0a だった
boldだと非対応を除いて892端末。44パターン。結構違いがあるな
setafだと340端末、11パターン
まあtputを使うほうが楽だってのはわかるけど、エスケープシーケンスが違うのは
マイナー端末だろうし、数の割にパターン数は限られているので
完璧を求めたいなら別だけど使う環境で動けば良いわけで、tputを使用するのは過剰な気がするな。
データベースに登録されてる1700端末をすべて調べてみたが
すべてが 0x31 0x33 0x31 0x0a だった
boldだと非対応を除いて892端末。44パターン。結構違いがあるな
setafだと340端末、11パターン
まあtputを使うほうが楽だってのはわかるけど、エスケープシーケンスが違うのは
マイナー端末だろうし、数の割にパターン数は限られているので
完璧を求めたいなら別だけど使う環境で動けば良いわけで、tputを使用するのは過剰な気がするな。
547デフォルトの名無しさん
2019/08/05(月) 15:55:50.50ID:IMjI9HmJ tputがない環境って例えば何?
548デフォルトの名無しさん
2019/08/05(月) 16:04:49.48ID:MNXFY7cg む、/lib/terminfo/ 以下にも定義ファイルがあるのか
xterm-256colorがないのに使えると思ったら
まあ +40個しか変わらんけど
xterm-256colorがないのに使えると思ったら
まあ +40個しか変わらんけど
549デフォルトの名無しさん
2019/08/05(月) 16:05:10.32ID:MNXFY7cg >>547
書いたんだから上見ろ
書いたんだから上見ろ
550デフォルトの名無しさん
2019/08/05(月) 16:11:29.93ID:IMjI9HmJ まあいいけど日記はブログで書けや
551デフォルトの名無しさん
2019/08/05(月) 16:18:56.02ID:MNXFY7cg ブログねーしw ここはみんなのらくがき帳だ
552デフォルトの名無しさん
2019/08/05(月) 18:58:04.34ID:7Al1V6ob シェルスクリプトマスターの皆様
xxxxNN.txtというファイルが大量にあります(xxxxの部分はファイル名、NNの部分は0〜99の連番)
NNの部分が50未満ならxxxx50.txtにNNが50以上ならxxxx99.txtに一括でリネームしたいのですがやり方教えてください
xxxxNN.txtというファイルが大量にあります(xxxxの部分はファイル名、NNの部分は0〜99の連番)
NNの部分が50未満ならxxxx50.txtにNNが50以上ならxxxx99.txtに一括でリネームしたいのですがやり方教えてください
553デフォルトの名無しさん
2019/08/05(月) 19:10:26.82ID:AegVyuQi xxxx の部分はファイルによって異なるって前提でOK?
554デフォルトの名無しさん
2019/08/05(月) 19:15:29.15ID:7Al1V6ob >>553
YES
YES
555デフォルトの名無しさん
2019/08/05(月) 19:19:16.45ID:MNXFY7cg 無理に頭の体操的なことをせずに、こんな感じでいいでしょ?
for file in *; do
name=${file%[0-9]}
name=${name%[0-9]}
num=${file#$name}
[ $num -lt 50 ] && num=50 || num=99
mv "$file" "$name$num"
done
for file in *; do
name=${file%[0-9]}
name=${name%[0-9]}
num=${file#$name}
[ $num -lt 50 ] && num=50 || num=99
mv "$file" "$name$num"
done
556デフォルトの名無しさん
2019/08/05(月) 19:27:32.93ID:7Al1V6ob557デフォルトの名無しさん
2019/08/05(月) 19:28:09.53ID:MNXFY7cg 早速試すとか言ってるが、
適当に書いたからどうなっても知らんぞ。
適当に書いたからどうなっても知らんぞ。
558デフォルトの名無しさん
2019/08/05(月) 21:05:22.75ID:O6CFE/yb559デフォルトの名無しさん
2019/08/06(火) 08:47:13.20ID:fNxvG1AN ほとんど気にすることないと思うんだけどさ
みなさんが今まで携わってきたシステムでshが/bin/shにないシステムってあった?
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap10.html
ここによると/bin/shは既定されてない→つまり必ずしもあるとは限らない
みたいなんだけど、そんなシステムあるかね?
Solarisとかなら…と思ったけど/bin/shだったし。
みなさんが今まで携わってきたシステムでshが/bin/shにないシステムってあった?
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap10.html
ここによると/bin/shは既定されてない→つまり必ずしもあるとは限らない
みたいなんだけど、そんなシステムあるかね?
Solarisとかなら…と思ったけど/bin/shだったし。
560デフォルトの名無しさん
2019/08/06(火) 10:09:19.90ID:9obbnMlM Androidには/bin/shがないとか聞いたことあるな
561デフォルトの名無しさん
2019/08/06(火) 10:19:48.23ID:4kzCwlOl Androidはそもそも/binも/usrも無いな
mkshが/system/bin/shにある
mkshが/system/bin/shにある
562デフォルトの名無しさん
2019/08/06(火) 10:27:23.06ID:9obbnMlM Androidの環境ってよくわからん。
busyboxは採用して無くて、昔はtoolboxだったのが今はtoyboxを採用している。
しかしtoyboxのシェルであるtoyshは完成して無くてmkshを使っている。
という理解であってるんだろうか?
dockerfileないんかな?
busyboxは採用して無くて、昔はtoolboxだったのが今はtoyboxを採用している。
しかしtoyboxのシェルであるtoyshは完成して無くてmkshを使っている。
という理解であってるんだろうか?
dockerfileないんかな?
563デフォルトの名無しさん
2019/08/06(火) 17:00:21.88ID:g73t6D+3 Androidはヘッドレスでは立ち上がらんのじゃね?
昔見た限りだとinitスクリプト中でコケるんじゃないかと
昔見た限りだとinitスクリプト中でコケるんじゃないかと
564デフォルトの名無しさん
2019/08/07(水) 00:56:40.08ID:3XS5MIC7 Toyboxなんてものがあるのか。
565デフォルトの名無しさん
2019/08/07(水) 01:43:15.26ID:WK8NJ3/V diffみたいに二つのファイルを開いて、一行ずつ交互に比較できないかな?
bash依存禁止で
bash依存禁止で
566デフォルトの名無しさん
2019/08/07(水) 01:49:50.14ID:r57RWdCS diff使えばいいじゃん
567デフォルトの名無しさん
2019/08/07(水) 01:57:20.41ID:QJETJeRx diff のアルゴリズムは有名だから
あとはもっと具体的にどうさせたいのかによりそう
あとはもっと具体的にどうさせたいのかによりそう
568デフォルトの名無しさん
2019/08/07(水) 02:03:50.19ID:WK8NJ3/V 誰がdiffしたいっていったよ?
569デフォルトの名無しさん
2019/08/07(水) 02:43:40.37ID:fPg/gK/3 paste コマンド使うとか。見づらいけどw
$ paste -d '\n' file_a file_b
$ paste -d '\n' file_a file_b
570デフォルトの名無しさん
2019/08/07(水) 02:47:37.40ID:WK8NJ3/V 一旦質問を忘れて
同時に二つのファイルを開いて処理したい
同時に二つのファイルを開いて処理したい
571デフォルトの名無しさん
2019/08/07(水) 02:48:31.68ID:WK8NJ3/V 処理の内容は自由に変えられる
572デフォルトの名無しさん
2019/08/07(水) 02:56:33.93ID:fPg/gK/3 他のスクリプト言語を使う方が幸せになれる様な気がする
573デフォルトの名無しさん
2019/08/07(水) 03:19:53.88ID:prHDAaSE >>568
こんな奴に誰が答えたいと思うだろうか?
こんな奴に誰が答えたいと思うだろうか?
574デフォルトの名無しさん
2019/08/07(水) 03:26:49.06ID:arV/Dy+D またいつもの奴か
575デフォルトの名無しさん
2019/08/07(水) 03:43:34.68ID:3XS5MIC7 どうしてこう知識のない奴ほど傲慢なんだろうか。
576デフォルトの名無しさん
2019/08/07(水) 06:41:35.91ID:5FNsDR6i POSIXシェルのみで全て書くという縛りプレイが好きなんだろうw
POSIXは最低限のインターフェースを規格化しているだけで、結局はプラットフォーム別に書くしかないのが現状だからな
bashがあるならbashで書けばいい
GNU拡張が使えるなら使えばいい
あるもんは使えばいいんだよ
可搬性の幻想に囚われると逆に生産性が落ちる
POSIXは最低限のインターフェースを規格化しているだけで、結局はプラットフォーム別に書くしかないのが現状だからな
bashがあるならbashで書けばいい
GNU拡張が使えるなら使えばいい
あるもんは使えばいいんだよ
可搬性の幻想に囚われると逆に生産性が落ちる
577デフォルトの名無しさん
2019/08/07(水) 06:56:03.49ID:5FNsDR6i578デフォルトの名無しさん
2019/08/07(水) 07:11:20.44ID:aj+f89Vu >>575
パソコンの大先生にありがち。知識は少しはあると自負のアンバランスからだな
パソコンの大先生にありがち。知識は少しはあると自負のアンバランスからだな
579デフォルトの名無しさん
2019/08/07(水) 08:36:36.73ID:QJETJeRx awk で丸飲みしちゃえ
1ファイル1配列
メモリ節約なら
1行ずつ読むのをシンクロさせる
1ファイル1配列
メモリ節約なら
1行ずつ読むのをシンクロさせる
580デフォルトの名無しさん
2019/08/07(水) 11:22:21.65ID:WK8NJ3/V >>575
ほんとそれなw
できるのに、知識ないやつほどぐだぐだとレスをする
答えられないのを質問者のせいにする
exec 3<file1.txt
exec 4<file2.txt
read -r file1<&3
read -r file2<&4
echo "$file1 $file2"
read -r file1<&3
read -r file2<&4
echo "$file1 $file2"
ほんとそれなw
できるのに、知識ないやつほどぐだぐだとレスをする
答えられないのを質問者のせいにする
exec 3<file1.txt
exec 4<file2.txt
read -r file1<&3
read -r file2<&4
echo "$file1 $file2"
read -r file1<&3
read -r file2<&4
echo "$file1 $file2"
581デフォルトの名無しさん
2019/08/07(水) 11:28:44.82ID:3XS5MIC7 重症だなこりゃ
582デフォルトの名無しさん
2019/08/07(水) 11:31:15.75ID:WK8NJ3/V ちなみに>>580は
一回目のechoはファイルの1行目、
二回目のechoはファイルの2行目が
ちゃんと表示されるからなw
お前ら勉強してちゃんと質問に答えられるようになれよ
中途半端な知識で満足するな
一回目のechoはファイルの1行目、
二回目のechoはファイルの2行目が
ちゃんと表示されるからなw
お前ら勉強してちゃんと質問に答えられるようになれよ
中途半端な知識で満足するな
583デフォルトの名無しさん
2019/08/07(水) 11:36:26.97ID:5FNsDR6i584デフォルトの名無しさん
2019/08/07(水) 11:37:40.18ID:WK8NJ3/V などと、質問には答えずに
それでも悔しいからか、レスだけはするようで
それでも悔しいからか、レスだけはするようで
585デフォルトの名無しさん
2019/08/07(水) 11:41:40.99ID:9POPBXN5 すげえ嫌な感じの方法思い付いた。
まず二つのファイルの行数だけ wc -l で調べ、小さい方を max に入れておく。
n=1 にしてから max までループさせて、ループの中で awk を使って NR==$n の一行を双方のファイルから抜き出してそれぞれ別の変数に入れる。
なんてことをすると2つの(またはそれよりも多くの)ファイルから1行抜き出して何かをする事は可能だ。
しかし行が長くなればなるほど無駄な処理が増えて時間が掛かることは言うまでもない。
大変効率の悪い方法だ。
まず二つのファイルの行数だけ wc -l で調べ、小さい方を max に入れておく。
n=1 にしてから max までループさせて、ループの中で awk を使って NR==$n の一行を双方のファイルから抜き出してそれぞれ別の変数に入れる。
なんてことをすると2つの(またはそれよりも多くの)ファイルから1行抜き出して何かをする事は可能だ。
しかし行が長くなればなるほど無駄な処理が増えて時間が掛かることは言うまでもない。
大変効率の悪い方法だ。
586デフォルトの名無しさん
2019/08/07(水) 11:48:42.74ID:5FNsDR6i >>582
それやりたいなら普通はpaste使うけどな
それやりたいなら普通はpaste使うけどな
587デフォルトの名無しさん
2019/08/07(水) 11:48:48.99ID:WK8NJ3/V588デフォルトの名無しさん
2019/08/07(水) 11:48:50.45ID:9POPBXN5 >>580
おお。それでできるな。
おお。それでできるな。
589デフォルトの名無しさん
2019/08/07(水) 11:51:13.86ID:9POPBXN5■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★2 [蚤の市★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★4 [ぐれ★]
- 「今の女性はルッキズム」は本当なのか? 若い世代が結婚相手に求める"本当の条件" [少考さん★]
- 【Uo・ェ・oU】行方不明の女子中学生を捜せ 枕のにおい頼りに10分で警察犬お手柄 神奈川県茅ケ崎市 [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★5 [ぐれ★]
- 【サッカー】J1リーグの2025年平均観客動員数が4.4%増の21,246人 最多入場者数の2019年を超えて過去最高値 ★2 [尺アジ★]
- 【悲報】ネトウヨ「ヤン・ウェンリーって私のことだ……」👈これ [714769305]
- 愛国者「普通の日本人は「差別だー!」「レイシストだー!」とは言わない!」4万いいね [856698234]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★4
- 【悲報】安倍さん、発泡酒(の税率)がビールになったよ! [616817505]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★3
- 住人の平均IQが低そうなネットコミュニティー [357264179]
