- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:55:42 .net]
- 腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語AWKについて語るスレ ◆ 前スレ awkについて語るスレ pc10.2ch.net/test/read.cgi/tech/1023556171/ ◆ 関係スレ シェルスクリプト相談室 pc10.2ch.net/test/read.cgi/tech/1112553783/ AWKでCGI pc10.2ch.net/test/read.cgi/php/1171804314/ 【sed】シェルスクリプト総合@LINUX Part2【awk】 pc10.2ch.net/test/read.cgi/linux/1154578200/ ◆ 参考 The AWK Programming Language (Brian Kernighan): ttp://cm.bell-labs.com/cm/cs/awkbook/index.html GAWK (GNU Projedt): ttp://www.gnu.org/software/gawk/
- 917 名前:デフォルトの名無しさん [2018/12/24(月) 09:11:50.63 ID:PbNokzxn.net]
- >>902
> きっとなノードを削除するときはその要素゙から辿って一番深いとこから再帰的に削除しないと残骸が残る delete a は a[1][2] や a[3][4][5] などの子配列含む配列a全体の使用メモリをまとめて "再利用" にまわす 一部の要素を残しておきたい事情が無ければ、delete a[1][2]; delete a[3][4][5]; ... のように子配列を個別に deleteする必要は無い たとえば下の(2)は多次元配列bが多次元配列aの使用済みメモリを再利用するので 終了間際のメモリ使用量は(1)(2)どちらも同じになるが、(2)の delete a を消すと倍程度に増える (1) BEGIN{for(i=1; i<=1000000; i++){a[i%10][i]=i}} (2) BEGIN{for(i=1; i<=1000000; i++){a[i%10][i]=i} delete a; for(i=1; i<=1000000; i++){b[i%10][i]=i}} メモリ再利用の仕組みはThe GAWK Manualには書いていないけどAharon Robbinsが↓で回答している https://groups.google.com/forum/#!topic/comp.lang.awk/CKwoes0_63U
- 918 名前:デフォルトの名無しさん [2018/12/24(月) 15:58:51.02 ID:ivcUrO89.net]
- なるほど
ありがとう きっと再利用されるから 気にせず放置でいいのか
- 919 名前:デフォルトの名無しさん [2018/12/24(月) 17:27:46.25 ID:8PLVwc4u.net]
- >>904 886です。ありがとうございます。動的とはこんな感じでしょうか?
一度作って、削除するという変な仕様ですが。 BEGIN { a[1] = "foo"; a[2][1] = "bar"; a[2][2] = "baz"; a[3] = "qux"; a[4][1][1] = "quux"; a[4][2] = "corge"; for (i = 1; i < 5; i++) { meta_ar_init(b, i); clone(b[i], a); } } function meta_ar_init(ar, init_num) { ar[init_num][1] = ""; delete ar[init_num][1]; } function clone(lhs, rhs, i) { for (i in rhs) { if (isarray(rhs[i])) { lhs[i][1] = ""; delete lhs[i][1]; clone(lhs[i], rhs[i]); } else lhs[i] = rhs[i]; } }
- 920 名前:デフォルトの名無しさん [2018/12/27(木) 20:01:48.39 ID:pQqvXPza.net]
- よく分からんが
例えばそれで>>904の入力データなんかを読み込めたりするのか >>905のswitchだと事前に何次元かわかってないと読み込めない 何次元になるか不明な入力データの場合 どうやれば格納できるかよくわからんんかった
- 921 名前:デフォルトの名無しさん [2018/12/27(木) 22:46:53.38 ID:X7jxTwwp.net]
- >>908の「一度作って、削除する」というのは
https://www.gnu.org/software/gawk/manual/gawk.html#Arrays-of-Arrays ここの一番下のsplitがエラー吐く例の回避策で、配列の要素を最初から配列扱いすることはできないから 予め次階層にダミー要素をぶら下げておき、本命を格納し終えたらダミーは消すって意味かな 自分で書いたらこんなんなったけど、いちおう何次元でも格納できそう https://ideone.com/83ykKF#stdin
- 922 名前:デフォルトの名無しさん [2018/12/30(日) 03:28:21.38 ID:5ft+KBa+B]
- すごいけど配列の値が書いてないので
BEGIN { array_entry(a, "1-2-3", 48) array_entry(a, "1-2-4-6", 667) array_entry(a, "3-1", 0) array_entry(a, "4", 6) array_entry(a, "5-1-2-3-4-5", -128) process_array(a, "a", "do_print", 0) }
function array_entry(a, val, ele , step, b, n) { n = split(val, b, /-/) if (n == 1) { a[val + 0] = ele; return } if (step == n - 2) { a[b[step + 1]][b[n]] = ele; return } a[b[step + 1]]["dummy"]; if (step + 1 < n) { array_entry(a[b[step + 1]], val, ele, step + 1) delete a[b[step + 1]]["dummy"] } }つづく
- 923 名前:デフォルトの名無しさん [2018/12/30(日) 03:29:15.30 ID:5ft+KBa+B]
- function do_print(name, element) {
printf("%s = %s\n", name, element); } function process_array(arr, name, process, do_arrays, i, new_name) { for (i in arr) { new_name = (name "[" i "]"); if (isarray(arr[i])) { if (do_arrays) @process(new_name, arr[i]); process_array(arr[i], new_name, process, do_arrays); } else @process(new_name, arr[i]); } } これでいけそう?
- 924 名前:デフォルトの名無しさん [2018/12/31(月) 02:46:41.48 ID:20SukTdNU]
- ちゃんと書いてみました。
https://ideone.com/rdeTvE
- 925 名前:デフォルトの名無しさん mailto:sage [2019/01/01(火) 00:00:01.96 ID:7rl7mk2H.net]
- 2019年もawkのお世話になります
- 926 名前:デフォルトの名無しさん mailto:sage [2019/01/02(水) 18:12:37.70 ID:0+aicLseW]
- すげー
- 927 名前:デフォルトの名無しさん [2019/01/05(土) 08:05:13.61 ID:1ixBisDID]
- どなたか教えてください
Windows10-32bit,MinGW(msys無し),gawk4.2.1 for win32 bin/src(ezwinports), Shift_JISの環境で builtin.c を書き換えてビルドしました。 書き換えた内容はprintf/sprintfのマルチバイト文字列整形関連です。 ビルド後、期待通りに動きますが、実行ファイルサイズが4.8MBもあります。 上記のソースディレクトリでcmdを起動して mingw32-make mingw32 とタイプしました。 出来上がった gawk.exe のファイルサイズは正常なのでしょうか? また、上記環境ではできませんが configure は必要ですか? よろしくお願いいたします。
- 928 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 18:58:36.44 ID:9Z2hbdGL.net]
- 60くらいの教授が40年くらい前にAWKでアセンブラ作ったとか言ってたんだけど
当時に既にあったということと当時から小規模なコンパイラなら作れるくらい高性能だったことに驚いた
- 929 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 19:10:49.73 ID:dIIT7BCG.net]
- アセンブラをコンパイラとは呼ばないが
- 930 名前:デフォルトの名無しさん [2019/02/06(水) 10:31:17.59 ID:+qagyc5o.net]
- aho
- 931 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 13:09:33.86 ID:j4QdsmCl.net]
- asort、asortiがよくわからなかったので試した結果
# a a[5] ="a5" a[1] ="a1" a[3] ="a8" # asort(a,as) as[1] ="a1" as[2] ="a5" as[3] ="a8" # asorti(a,asi) asi[1]=1 asi[2]=3 asi[3]=5 なんだそういうことだったのかとわかった
- 932 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 17:39:23.37 ID:+3VpeZVh.net]
- >>917
思わず "assembler by awk" でググって The Amazing Awk Assembler by Henry Spencer を ダウンロードしちゃったじゃないか。
- 933 名前:デフォルトの名無しさん mailto:sage [2019/02/23(土) 17:41:13.06 ID:Y0E0nwid.net]
- awkでファイルがあるかどうかの判別は、どのようにしたらよいのでしょうか?
具体的にはBEGINの中で getline a < "/dev/stdin"; fn = a".txt" と任意のファイル名を作った後、そのファイルがあるかどうかを確認したいんです。 もしファイルがすでにあったら処理は終了、無ければ以後の処理をそのファイルにリダイレクトする、という感じです。
- 934 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 00:16:02.91 ID:Cwr1i6xY.net]
- if(getline<fn!=-1)exit
とか?
- 935 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 11:45:53.93 ID:FuDjIOWV.net]
- >>923
できました!ありがとうございます!!
- 936 名前:デフォルトの名無しさん [2019/03/21(木) 08:10:09.34 ID:pGDO/F2C.net]
- 答えが出ないなんで?
#!/usr/bin/awk -f BEGIN{ print game(10, 24); } function game(coin,depth, i,j){ if(memo[coin,depth]){ return memo[coin,depth]; } if(coin == 0){ return 0; } if(depth == 0){ return 1; } win = game(coin + 1, depth - 1); lose = game(coin - 1, depth - 1); memo[coin,depth] = win + lose; }
- 937 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 09:51:18.96 ID:WMaCNtBE.net]
- 最後の memo[coin,depth] = win + lose はそのまま関数の戻り値として
return しなければならないが、それを忘れている。 さらに、正しい答えが返らない原因が 2 点。 関数定義の引数名間違い: i,j → win,lose。 if(depth == 0) と if(coin == 0) の判定を行う順序が逆。
- 938 名前:デフォルトの名無しさん [2019/03/21(木) 14:19:16.55 ID:pGDO/F2C.net]
- >>926
ありがとうございます。 そっか。returnがいるんですね。 perlだと最後はreturn省略可能だけどawkは省略不可みたい。 あと、引数名も間違っていました。 正しい答え出ました!
- 939 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 21:25:33.68 ID:ZeSQsBE1.net]
- それぐらいの処理は、Ruby で作れ!
- 940 名前:デフォルトの名無しさん mailto:sage [2019/03/21(木) 23:54:47.78 ID:7AyLRSvD.net]
- オーク英雄物語 〜忖度列伝〜
https://ncode.syosetu.com/n8418ff/1/ 👀 Rock54: Caution(BBR-MD5:0be20a4887bc3d3353f527d3636c44e3)
- 941 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 17:01:28.78 ID:nwflCE8J.net]
- >>928
awkの方がいいときもある installしなくていい タスクマネージャでみているとrubyよりメモリを食わない時もある 融通の利く配列が超便利 通信、Hash、sortなど使いまくる時はrubyのほうがいいけど
- 942 名前:デフォルトの名無しさん [2019/04/01(月) 17:12:08.21 ID:Tc5+6fel.net]
- いや、Perlだ。
理由 俺が慣れてるから。
- 943 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 22:48:54.89 ID:0AqZLgzF.net]
- Perlはまぁ慣れ以外に使う意味はあまり見出せない。
- 944 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 04:44:16.86 ID:3dIjgbOm.net]
- 漏れは、Windows 10・WSL・Ubuntu 16.04 だけど、
sudo apt install ruby だけで、Ruby 2.3 が入った 2.4 以降の新しい書き方さえしなければ、動く Perl, Python は、最初から入っているけど
- 945 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 10:00:50.55 ID:USFH8Mum.net]
- >>933
死ね
- 946 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 10:29:57.68 ID:egwP5Lwa.net]
- Perl脳だとdieなどと言いたがるんかね。
- 947 名前:デフォルトの名無しさん [2019/04/02(火) 12:24:56.71 ID:exqjvsIl.net]
- Perl die好き
- 948 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 12:34:58.56 ID:m0agfZtU.net]
- w
- 949 名前:デフォルトの名無しさん [2019/04/17(水) 15:16:55.69 ID:bLXqfCqA.net]
- GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリが
GLIBCからGNULIBへ移行、名前空間が実装 2019年4月17日 https://www.publickey1.jp/blog/19/gnu_awk_508glibcgnulib.html UnixやLinuxにおいてsedやgrepなどと並んでよく知られているツールの1つがawk(オーク) です。このawkのGNUプロジェクトによる実装の最新版「GNU AWK 5.0」(gawk 5.0)の リリースが発表されました。 2011年にリリースされたGNU AWK 4.0から8年ぶり、直前のバージョンでとして2017年10月に リリースされた4.2.0からは約1年半ぶりとなります。 AWKはいわゆるスクリプティング言語の一種。変数や関数、制御文など基本的な構文を備え、 テキストファイルを効率的に処理できるのが特徴です。 GNU AWK 5.0の新機能としては、printfの%aおよび%Aの書式がPOSIX標準に準拠したこと、 正規表現のルーチンが、長年にわたってメンテナンスされてきたGLIBCからGNULIBに 置き換わったことなど。 また、識別子に非英語文字を使うためのドキュメント化されていなかったオプションなどは 削除され、ソースコードはC99環境が想定されるようになっています。 そして新たに名前空間が実装されています(詳細はマニュアルを参照とのこと)。
- 950 名前:デフォルトの名無しさん [2019/04/17(水) 17:19:50.38 ID:fsOEjVgH.net]
- sedとawkで簡単にできることを
他の方法でやってるアホを見ると優越感に浸れるよな
- 951 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:27:37.50 ID:Cw3S472M.net]
- 5.0.0じゃなくて4.3.0でいいじゃんって更新内容だな・・・
- 952 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 23:57:17.65 ID:t5VcExa0.net]
- 今時っぽく定期的にメジャーバージョンアップしていく作戦?
そろそろAWKCARD印刷してみようかな…
- 953 名前:デフォルトの名無しさん [2019/04/18(木) 00:37:48.90 ID:y8/6ebia.net]
- >>939
簡単な変換なのにWindowsとかでいきなりExcelでやろうとしちゃう人を見るとそこまでせんでも良いじゃないかとは思ってしまうな。 まあ日頃Windowsで事務処理的な事している人からすればそれ以上最良で分かりやすい環境はないんだろうけどな。 なんでもかんでもそれでやろうとして余計に分かりづらく複雑になってうまく行かずにハマっているのを見ると哀れに感じる。
- 954 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 01:13:44.70 ID:QInzSHhj.net]
- こういう記法ができることを知らず、気づくのに数年かかった
正規表現比較のifで変数を使える、gsubなどで変数を使える txt=”aabbcdefg1234” x=”^” substr{$0,1,1} ”+” if {txt 〜 x}print ”ok” y=substr{$0,1,1} z=substr{$0,2,1} gsub{y,z,$0} (半角だと書き込みエラーになるので全角に変換)
- 955 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 01:15:01.39 ID:QInzSHhj.net]
- >>943
あれ変換おかしい {} → ()
- 956 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 05:25:56.80 ID:cEFw76xP.net]
- ふふふ知ってた。
- 957 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 00:27:37.11 ID:/Z5C9xDG.net]
- The AWK Programming Language (の邦訳本) から入ったので知ってはいるけど、
エスケープ文字を考慮してコードを書くのが面倒なので極力避けてるな。 文字列が正規表現へ「型変換」されるときの振舞いについて、本には一応書いてある。
- 958 名前:デフォルトの名無しさん [2019/06/08(土) 18:14:03.76 ID:QbmZ5eQJn]
- user's guide 〜Regular Expressions
・Using Dynamic Regexps 結構前からある。 内部的には文字列定数を正規表現として使うために 2回目のスキャンが必要らしい。
- 959 名前:デフォルトの名無しさん [2019/06/11(火) 21:06:31.25 ID:+TF2B1JOC]
- どうせ廃れるぜ。この言語はよ。あばよ
- 960 名前:デフォルトの名無しさん [2019/06/12(水) 18:34:22.16 ID:yp7o1TZla]
- AWK / GAWKにて
UTF-8の文字列表示長さって、どうやって求めるのですか? たとえば、 str="abcdeあいうえお" 半角を 1 とすると str の表示長さは 15
また、キャラクタ数と表示長さを1つスクリプトで 併用したいときはどうすればよいのでしょうか?
分かる方、教えてください。よろしくお願いいたします。
- 961 名前:デフォルトの名無しさん [2019/06/12(水) 18:49:25.69 ID:KWGtdn6vZ]
- 私はこうしてます。
mfi.sub.jp/_html_awk/gawk_blength.html
- 962 名前:デフォルトの名無しさん [2019/06/12(水) 19:07:09.50 ID:kkOQizBgZ]
- >>950
ありがとございます。 助かります。
- 963 名前:デフォルトの名無しさん [2019/06/12(水) 22:16:17.50 ID:wOmIo+3+t]
- ごめんこっちの方が良かった。
UTF-8なので使い方は違うけど ASCII/128個と半角カナ/63個以外は、長さ2で計算するので 表示長さだと思ってください。
https://ideone.com/97R395
- 964 名前:952 [2019/06/12(水) 22:41:15.99 ID:CfhwF05wL]
- 忘れてました。
ideoneのstdin 文字化けしてるわけじゃないから。 ランダムに文字打ち出してるだけです。
- 965 名前:デフォルトの名無しさん [2019/06/13(木) 13:49:33.22 ID:FlIZ7NjL1]
- こちらもどうぞ
bsubstr(string, start, length) 指定位置(表示長さ単位)から指定表示長さの文字列を切り出す関数 文字化けする箇所はスペース充填 Shift_JISでもUTF-8でも可
https://ideone.com/3295sA
- 966 名前:デフォルトの名無しさん [2019/06/13(木) 18:18:48.64 ID:+trsIn9cI]
- よろしければこちらもどうぞ。
sformat(fw, prec, string) sprintf("%*.*s", fw, prec, string)の替わりに さっき作ったからバグがあるかもしれません。
https://ideone.com/TN7Ka4
- 967 名前:デフォルトの名無しさん [2019/06/14(金) 02:38:34.74 ID:8YLuNO2w7]
- 眠い、帰ってきて見直したらダメダメでした。
sformat()改良しました。 見てくれてるかな
https://ideone.com/VvxBzq
- 968 名前:デフォルトの名無しさん [2019/06/14(金) 14:13:28.99 ID:rib6nibVS]
- bsubstr()も見直した。
やっぱりダメダメだった。
https://ideone.com/7vqqVO
- 969 名前:デフォルトの名無しさん [2019/06/19(水) 04:52:26.36 ID:tVNS+22r.net]
- 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
- 970 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 05:07:43.82 ID:1ALBmyOB.net]
- AWKが巨大なテキストファイルを処理できないみたいな話を知ってる方いらしゃいますか。
大体1.4GiBくらいのファイルをAWKで編集しようとすると「ファイルの空きがない」みたいなエラーが出るので。
- 971 名前:デフォルトの名無しさん [2019/06/30(日) 12:11:04.21 ID:QU2Ls1X6.net]
- UNIXというかまともなPIPE実装されてるOSならそんなことはないが
WINDOWSとかいうアホなOSだと出るだろうね
- 972 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 12:19:57.44 ID:pDzbN/vc.net]
- 「ファイルの空きがない」っていうメッセージは "No space left on device" の事?
- 973 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 15:28:11.21 ID:o/HVRPYj.net]
- >>960
コマンドラインでリダイレクト使ってればそうかも知れんが スクリプト内で出力先を指定してたらわからんぞー
- 974 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 21:02:48.49 ID:1ALBmyOB.net]
- >>960
なるほど。
- 975 名前:デフォルトの名無しさん [2019/06/30(日) 21:56:09.12 ID:HbSturrb.net]
- >>959
改行コードの違いにより全体が長い一行と認識されてしまい・・・なんて事はないか? あ、でも、ファイルの空きがないってのは出力先の空き容量が足りないってことかな?
- 976 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 01:34:15.60 ID:2smzn43h.net]
- >>961
そうです。 でもファイルシステムとしては全く余裕がある状態なんです。
- 977 名前:デフォルトの名無しさん [2019/07/01(月) 02:30:15.69 ID:jjSXuURg.net]
- なんだろうね。作業用ファイルが作られるパーティションの空きが足りないとかかな?
- 978 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 02:35:44.08 ID:KfVaWYci.net]
- 64bit版か32bit版かで違わないか
1.4GBは入力で出力も同じなのかはるかに小さいのか 出力が速すぎることはないのか、ゆっくり出力するようにしたらどうか
- 979 名前:947 mailto:sage [2019/07/01(月) 07:19:02.17 ID:2smzn43h.net]
- >>966
すいません。これが原因でした。 AWKは全く悪くありませんでした。ご迷惑&&スレ汚し、大変失礼しました……。
- 980 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 07:38:04.28 ID:O1pDJEnN.net]
- Ruby で
- 981 名前:も、File.read なら、ファイルの内容を、メモリ内にすべて読み込んでしまうから、
500MB 以上なら、読み込めずにエラーになるだろう File.foreach なら、メモリ内に、1行ずつ読み込んでは捨てるから、大きいファイルでも大丈夫 まあ、RubyVM 起動時に、そのアプリが使うメモリのサイズを、指定できると思うけど。 JavaVM には、そういうオプションがある [] - [ここ壊れてます]
- 982 名前:デフォルトの名無しさん [2019/07/02(火) 21:28:41.07 ID:Stz7guhB.net]
- awkで dateを使ったのですが、秒数が更新されず悩んでます。仕様とかそういう情報ご存知のかた教えて
頂けないでしょうか ■ コード BEGIN { for( intCounter = 0; intCounter < 3; intCounter++ ) { "date +\"%Y/%m/%d %I:%M:%S\" " | getline datTmp print "Start:" datTmp system("sleep 2") } } END { for( intCounter = 0; intCounter < 3; intCounter++ ) { "date +%I:%M:%S" | getline datTmp1 print "End:" datTmp1 system("sleep 2") } } ■ 結果 Start:2019/07/02 09:18:36 Start:2019/07/02 09:18:36 Start:2019/07/02 09:18:36 End:09:18:42 End:09:18:42 End:09:18:42 ■ 疑問 Start, End 共に最初の 1 回目のみ秒数が取れているようで、2回目からは2秒後のはずなのに、秒数が変わっていない orz..
- 983 名前:952 [2019/07/02(火) 21:47:38.82 ID:Stz7guhB.net]
- お騒がせしました。自己解決しました。
https://stackoverflow.com/questions/2391272/gawk-awk-piping-date-to-getline-sometimes-wont-work closeを使う必要が有ったようです。 ■ コード BEGIN { for( intCounter = 0; intCounter < 3; intCounter++ ) { "date +\"%Y/%m/%d %I:%M:%S\" " | getline datTmp print "Start:" datTmp system("sleep 2") close("date +\"%Y/%m/%d %I:%M:%S\" ") } } END { for( intCounter = 0; intCounter < 3; intCounter++ ) { "date +%I:%M:%S" | getline datTmp2 print "End:" datTmp2 system("sleep 2") close("date +%I:%M:%S") } } ■ 結果 Start:2019/07/02 09:44:49 Start:2019/07/02 09:44:51 Start:2019/07/02 09:44:53 End:09:44:55 End:09:44:57 End:09:44:59
- 984 名前:デフォルトの名無しさん mailto:sage [2019/07/03(水) 06:22:07.32 ID:IYY9eTuR.net]
- gawkなら時間関数群あるんじゃ。
- 985 名前:デフォルトの名無しさん mailto:sage [2019/07/04(木) 01:05:04.08 ID:vxwYTSOB.net]
- ここいいね。Web上でawkの実行とその結果が見れるサービス。
https://www.tutorialspoint.com/execute_awk_online.php
- 986 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 19:29:13.12 ID:p9vBdDGq.net]
- fi
、Jj Й /⌒ヽ l_ 0..0 }{ l冊 -=-v=- }{ 彡ミノ{ }{ 非 }{ 匁OTO)匁 }{ }{ }{ }{ 及 及
- 987 名前:デフォルトの名無しさん [2019/08/05(月) 11:42:29.38 ID:N86fIT/u.net]
- Windows10 のコマンドプロンプトで awk を使いたいです。
vector で検索するといろいろでてくるのですが、 これがお勧めっていうのありますでしょうか。 日本語も扱えるのがいいです。 よろしくお願いします。
- 988 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 11:44:36.72 ID:MNXFY7cg.net]
- Windows 10なら、標準機能のWSL(+Ubuntu)をインストールするのが一般的
vectorとかもうあんなのいらない
- 989 名前:デフォルトの名無しさん [2019/08/05(月) 12:04:58.85 ID:N86fIT/u.net]
- WSLって使ったことなかったんですけど、
ググってみたらもう Win で Linux が標準で使えるんですね。 これなら cygwin とかも、もういらないのかな。 情報どうもです。
- 990 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 12:06:14.91 ID:MNXFY7cg.net]
- cygwinもいらない。遅いし互換性低いし
- 991 名前:デフォルトの名無しさん [2019/08/05(月) 12:06:57.54 ID:NOA3rn3w.net]
- WSL って pro だけ?
home だったら付いてない? msys とか入れれば解決するけど
- 992 名前:デフォルトの名無しさん [2019/08/05(月) 12:18:30.48 ID:N86fIT/u.net]
- マイクロソフトもビルゲイツがいなくなって
多少は良い事もするようになったかな。
- 993 名前:デフォルトの名無しさん [2019/08/05(月) 12:33:33.70 ID:LhsszH09.net]
- >>980
いや、まだ足りない。何でもかんでもWindowsの上で動くようにしているだけだしね。すると何を動かすにしてもWindowsのライセンス料が掛かる。 まあ仕方のないことではあるがな。
- 994 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 12:42:57.45 ID:MNXFY7cg.net]
- WSLはhomeでも使える。WSL2も使えるようにすると発表があった。
- 995 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 12:59:49.23 ID:MNXFY7cg.net]
- >>981
> 何でもかんでもWindowsの上で動くようにしているだけだしね。すると何を動かすにしてもWindowsのライセンス料が掛かる。 それがLinuxでも動くようになり、Windowsのライセンス料もかからなくなってきてるから 最近のMSの評判が抜群に上がってるんだろ
- 996 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 15:30:49.20 ID:VYzH3PNA.net]
- >>980
windows育ちでないunix系を知っている今のCEOに変わってから変化し始めた ダメな旧MS文化からunix系やandroid系に転換をはかっている ダメだったのは前CEOバルマー
- 997 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 17:45:26.88 ID:QFC6lZK5.net]
- いっそのこと UNIX のカーネルに Windows のシェルを
被せてもらいたいですね。 Mac はもうそうなってるし。
- 998 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 17:59:46.21 ID:MNXFY7cg.net]
- そのわりに、MacってUNIXを全然活かせてないよな?
forkは遅いし、仮想マシン使ったほうがMacよりも速いし。
- 999 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 18:09:58.23 ID:MNXFY7cg.net]
- まあ、AppleはUNIXを真似ることしかできなかったわけで
UNIXと双璧をなす独自OSを作り上げたMSと同じことをしろというのも酷な話だが、 UNIX/Linuxを取り込むなら、WSLと同じ仕組みで十分な気がする。 あとAppleが運が悪かったのは、Linuxがここまで普及すると予測できなかったことかな BSD系を採用しちゃったので、Linuxとコマンド体系が微妙に変わってしまった。 標準でUnixコマンドが搭載されてるにも関わらず、サードパーティのHomebrewを使って Linux互換(GNU版)のコマンドに置き換える人も多いし。
- 1000 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 20:09:15.04 ID:oBMYP5f0.net]
- > UNIXと双璧をなす独自OSを作り上げたMS
ゴミをでっち上げ、OSとかよく解らない池沼層に売っただけ。
- 1001 名前:デフォルトの名無しさん [2019/08/05(月) 20:51:07.86 ID:LhsszH09.net]
- MSはOSというよりはUIを作った感じだな。
- 1002 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 21:05:19.12 ID:MNXFY7cg.net]
- >>988
嫉妬すんなよw 事実は受け入れようぜw
- 1003 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 21:12:10.12 ID:O6CFE/yb.net]
- マクドナルドのハンバーガー並に普及した
- 1004 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 22:10:04.48 ID:o5dspg/Y.net]
- macOSの前身のNEXTSTEPは技術的には絶賛されてた
macOSは中身ほぼNEXTSTEPで見た目をモダンにしただけだ
- 1005 名前:デフォルトの名無しさん [2019/08/06(火) 14:52:58.06 ID:SvihPrAV.net]
- マルチユーザーマルチスレッドωωω
- 1006 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:42:44.33 ID:9obbnMlM.net]
- > macOSの前身のNEXTSTEPは技術的には絶賛されてた
でもUNIXの割にforkが遅いんだよな cygwin使ってるのか?って思っちゃうぐらい。
- 1007 名前:デフォルトの名無しさん [2019/08/06(火) 20:48:47.73 ID:ePqW8mte.net]
- スレッドも遅いの?
- 1008 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 00:04:17.07 ID:NEAc+E18.net]
- >>994
forkが速くて称賛されてた訳じゃないからな… ちなみにforkの速度は今時そんなに重要じゃないぞ もしそれで困ってるならスレッドを使うとか事前にプロセスを起動して置くなりすればいい
- 1009 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 00:33:23.13 ID:WK8NJ3/V.net]
- でもそうするとWSLで十分じゃね?という話になる
- 1010 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 01:24:29.79 ID:NRK0ob+d.net]
- 新手のスレ埋め立てかw
- 1011 名前:デフォルトの名無しさん [2019/08/07(水) 04:38:27.64 ID:/UJIAec/.net]
- >>987
そんなこと気にする人ってどれくらい居るんだろう CPUですら68、PowerPC、x86と変えてきて OSは独自、BSDと来たもんだ 多くの人は中身を気にせず使ってるのに 自分は元マカーだけど今は1台も持ってない でもファッションでMacBookいいカナと思うよ 仕事はITのエンジニアで商用UNIX使ってるけど コマンドなんてどうでもいいわ 好きなところにログインすれば言いだけなんだから
- 1012 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 01:24:30.39 ID:X/CTiqlR.net]
- | awk -F: '! /BINARY/ {print $1}'\
正規表現無しの簡潔な部分はperl -lane より短くて最高
- 1013 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 11:03:40.06 ID:mglN/rTr.net]
- >>1000
短かいのが正義!とは思わないけど、 perlと違ってSUSで定義されてるのがありがたいね。
- 1014 名前:デフォルトの名無しさん [2020/08/02(日) 17:25:58.24 ID:IlYSPDQE.net]
- ファッションでというと、写真撮影しているオシャレな感じのスタジオの受け付けにマックがあったのだが画面を見るとWindowsだったというのを見たことがあるな。
エミュでWindows動かしてそこで業務用のソフト動かして受け付け業務に使っているということだが、客から見るとディスプレイの裏側が主に見えるのでAppleマークが見えると。
- 1015 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 19:24:52.35 ID:mglN/rTr.net]
- >>1002
誤爆?
- 1016 名前:デフォルトの名無しさん [2020/08/03(月) 02:35:57.38 ID:iGTWfWuc.net]
- >>1003
>>999
- 1017 名前:デフォルトの名無しさん [2020/08/03(月) 09:51:55.82 ID:3aFKjSal.net]
- Aho
|

|