awkについて語るスレ $2

レス数が1000を超えています。これ以上書き込みはできません。
2007/02/23(金) 23:55:42
腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語AWKについて語るスレ

◆ 前スレ
awkについて語るスレ
http://pc10.2ch.net/test/read.cgi/tech/1023556171/

◆ 関係スレ
シェルスクリプト相談室
http://pc10.2ch.net/test/read.cgi/tech/1112553783/
AWKでCGI
http://pc10.2ch.net/test/read.cgi/php/1171804314/
【sed】シェルスクリプト総合@LINUX Part2【awk】
http://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/
2019/07/01(月) 07:38:04.28ID:O1pDJEnN
Ruby でも、File.read なら、ファイルの内容を、メモリ内にすべて読み込んでしまうから、
500MB 以上なら、読み込めずにエラーになるだろう

File.foreach なら、メモリ内に、1行ずつ読み込んでは捨てるから、大きいファイルでも大丈夫

まあ、RubyVM 起動時に、そのアプリが使うメモリのサイズを、指定できると思うけど。
JavaVM には、そういうオプションがある
952デフォルトの名無しさん
垢版 |
2019/07/02(火) 21:28:41.07ID:Stz7guhB
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..
953952
垢版 |
2019/07/02(火) 21:47:38.82ID:Stz7guhB
お騒がせしました。自己解決しました。
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
2019/07/03(水) 06:22:07.32ID:IYY9eTuR
gawkなら時間関数群あるんじゃ。
2019/07/04(木) 01:05:04.08ID:vxwYTSOB
ここいいね。Web上でawkの実行とその結果が見れるサービス。
https://www.tutorialspoint.com/execute_awk_online.php
2019/07/05(金) 19:29:13.12ID:p9vBdDGq
           fi
          、Jj
           Й 
         /⌒ヽ
         l_ 0..0
          }{ l冊
        -=-v=-
        }{ 彡ミノ{
        }{ 非 }{
        匁OTO)匁
         }{ }{
         }{ }{
         及 及
957デフォルトの名無しさん
垢版 |
2019/08/05(月) 11:42:29.38ID:N86fIT/u
Windows10 のコマンドプロンプトで awk を使いたいです。
vector で検索するといろいろでてくるのですが、
これがお勧めっていうのありますでしょうか。
日本語も扱えるのがいいです。
よろしくお願いします。
2019/08/05(月) 11:44:36.72ID:MNXFY7cg
Windows 10なら、標準機能のWSL(+Ubuntu)をインストールするのが一般的
vectorとかもうあんなのいらない
959デフォルトの名無しさん
垢版 |
2019/08/05(月) 12:04:58.85ID:N86fIT/u
WSLって使ったことなかったんですけど、
ググってみたらもう Win で Linux が標準で使えるんですね。
これなら cygwin とかも、もういらないのかな。
情報どうもです。
2019/08/05(月) 12:06:14.91ID:MNXFY7cg
cygwinもいらない。遅いし互換性低いし
961デフォルトの名無しさん
垢版 |
2019/08/05(月) 12:06:57.54ID:NOA3rn3w
WSL って pro だけ?
home だったら付いてない?
msys とか入れれば解決するけど
962デフォルトの名無しさん
垢版 |
2019/08/05(月) 12:18:30.48ID:N86fIT/u
マイクロソフトもビルゲイツがいなくなって
多少は良い事もするようになったかな。
963デフォルトの名無しさん
垢版 |
2019/08/05(月) 12:33:33.70ID:LhsszH09
>>962
いや、まだ足りない。何でもかんでもWindowsの上で動くようにしているだけだしね。すると何を動かすにしてもWindowsのライセンス料が掛かる。
まあ仕方のないことではあるがな。
2019/08/05(月) 12:42:57.45ID:MNXFY7cg
WSLはhomeでも使える。WSL2も使えるようにすると発表があった。
2019/08/05(月) 12:59:49.23ID:MNXFY7cg
>>963
> 何でもかんでもWindowsの上で動くようにしているだけだしね。すると何を動かすにしてもWindowsのライセンス料が掛かる。

それがLinuxでも動くようになり、Windowsのライセンス料もかからなくなってきてるから
最近のMSの評判が抜群に上がってるんだろ
2019/08/05(月) 15:30:49.20ID:VYzH3PNA
>>962
windows育ちでないunix系を知っている今のCEOに変わってから変化し始めた
ダメな旧MS文化からunix系やandroid系に転換をはかっている
ダメだったのは前CEOバルマー
2019/08/05(月) 17:45:26.88ID:QFC6lZK5
いっそのこと UNIX のカーネルに Windows のシェルを
被せてもらいたいですね。
Mac はもうそうなってるし。
2019/08/05(月) 17:59:46.21ID:MNXFY7cg
そのわりに、MacってUNIXを全然活かせてないよな?
forkは遅いし、仮想マシン使ったほうがMacよりも速いし。
2019/08/05(月) 18:09:58.23ID:MNXFY7cg
まあ、AppleはUNIXを真似ることしかできなかったわけで
UNIXと双璧をなす独自OSを作り上げたMSと同じことをしろというのも酷な話だが、
UNIX/Linuxを取り込むなら、WSLと同じ仕組みで十分な気がする。

あとAppleが運が悪かったのは、Linuxがここまで普及すると予測できなかったことかな
BSD系を採用しちゃったので、Linuxとコマンド体系が微妙に変わってしまった。
標準でUnixコマンドが搭載されてるにも関わらず、サードパーティのHomebrewを使って
Linux互換(GNU版)のコマンドに置き換える人も多いし。
2019/08/05(月) 20:09:15.04ID:oBMYP5f0
> UNIXと双璧をなす独自OSを作り上げたMS
ゴミをでっち上げ、OSとかよく解らない池沼層に売っただけ。
971デフォルトの名無しさん
垢版 |
2019/08/05(月) 20:51:07.86ID:LhsszH09
MSはOSというよりはUIを作った感じだな。
2019/08/05(月) 21:05:19.12ID:MNXFY7cg
>>970
嫉妬すんなよw 事実は受け入れようぜw
2019/08/05(月) 21:12:10.12ID:O6CFE/yb
マクドナルドのハンバーガー並に普及した
2019/08/05(月) 22:10:04.48ID:o5dspg/Y
macOSの前身のNEXTSTEPは技術的には絶賛されてた
macOSは中身ほぼNEXTSTEPで見た目をモダンにしただけだ
975デフォルトの名無しさん
垢版 |
2019/08/06(火) 14:52:58.06ID:SvihPrAV
マルチユーザーマルチスレッドωωω
2019/08/06(火) 17:42:44.33ID:9obbnMlM
> macOSの前身のNEXTSTEPは技術的には絶賛されてた

でもUNIXの割にforkが遅いんだよな
cygwin使ってるのか?って思っちゃうぐらい。
977デフォルトの名無しさん
垢版 |
2019/08/06(火) 20:48:47.73ID:ePqW8mte
スレッドも遅いの?
2019/08/07(水) 00:04:17.07ID:NEAc+E18
>>976
forkが速くて称賛されてた訳じゃないからな…
ちなみにforkの速度は今時そんなに重要じゃないぞ
もしそれで困ってるならスレッドを使うとか事前にプロセスを起動して置くなりすればいい
2019/08/07(水) 00:33:23.13ID:WK8NJ3/V
でもそうするとWSLで十分じゃね?という話になる
2019/08/07(水) 01:24:29.79ID:NRK0ob+d
新手のスレ埋め立てかw
981デフォルトの名無しさん
垢版 |
2019/08/07(水) 04:38:27.64ID:/UJIAec/
>>969
そんなこと気にする人ってどれくらい居るんだろう
CPUですら68、PowerPC、x86と変えてきて
OSは独自、BSDと来たもんだ
多くの人は中身を気にせず使ってるのに

自分は元マカーだけど今は1台も持ってない
でもファッションでMacBookいいカナと思うよ
仕事はITのエンジニアで商用UNIX使ってるけど
コマンドなんてどうでもいいわ
好きなところにログインすれば言いだけなんだから
2019/08/08(木) 01:24:30.39ID:X/CTiqlR
| awk -F: '! /BINARY/ {print $1}'\

正規表現無しの簡潔な部分はperl -lane より短くて最高
2020/08/02(日) 11:03:40.06ID:mglN/rTr
>>982
短かいのが正義!とは思わないけど、
perlと違ってSUSで定義されてるのがありがたいね。
984デフォルトの名無しさん
垢版 |
2020/08/02(日) 17:25:58.24ID:IlYSPDQE
ファッションでというと、写真撮影しているオシャレな感じのスタジオの受け付けにマックがあったのだが画面を見るとWindowsだったというのを見たことがあるな。
エミュでWindows動かしてそこで業務用のソフト動かして受け付け業務に使っているということだが、客から見るとディスプレイの裏側が主に見えるのでAppleマークが見えると。
2020/08/02(日) 19:24:52.35ID:mglN/rTr
>>984
誤爆?
986デフォルトの名無しさん
垢版 |
2020/08/03(月) 02:35:57.38ID:iGTWfWuc
>>985
>>981
987デフォルトの名無しさん
垢版 |
2020/08/03(月) 09:51:55.82ID:3aFKjSal
Aho
2020/08/03(月) 10:16:40.93ID:ZKD4yCvc
AWmae no Kachan debeso
989デフォルトの名無しさん
垢版 |
2020/08/03(月) 20:08:52.49ID:iGTWfWuc
awk の a は本当に Aho の略(人名)
2020/08/10(月) 14:00:21.38ID:l5zwQhnu
>>982 >>983
何事もないように書いてるけど実は1年空いてる
991デフォルトの名無しさん
垢版 |
2020/08/10(月) 14:01:04.64ID:l5zwQhnu
即レスも大概だが亀レスも大概やな!
2020/08/10(月) 22:16:10.09ID:DZgybkpe
AWesome Kame res
2020/08/13(木) 10:26:07.54ID:uwSNr/lm
真のawkerは多くを語らない。
awkを語らない…ナンチャッテ!
994デフォルトの名無しさん
垢版 |
2020/08/13(木) 16:09:43.86ID:GqR68DDy
は?
995デフォルトの名無しさん
垢版 |
2020/08/14(金) 13:41:25.37ID:H4TUvcZb
【審議中】
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ´・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u'. `u-u'
996デフォルトの名無しさん
垢版 |
2020/08/14(金) 15:50:04.19ID:XKPWE/tl
http://www.manabu-oshieru.com/hyakunin/064.html
997デフォルトの名無しさん
垢版 |
2020/09/14(月) 11:09:07.94ID:c+iGp9gS
bashで小数点の比較をする方法にbcを使うという意見が多かった
けどawkの方がわかりやすいと思う
condition()
{
awk 'BEGIN { exit ! ('"$*"') }'
}

x=5.6; y=42.1
if condition "$x < $y"; then
echo true
else
echo false
fi
2020/09/14(月) 11:15:45.20ID:S/jhW9z+
bcはインストールされてないことが時々あるんで使わないね
まあその点はawkの方がマシだろう
999デフォルトの名無しさん
垢版 |
2020/09/14(月) 12:03:30.66ID:gMM3Z1ji
1000デフォルトの名無しさん
垢版 |
2020/09/14(月) 12:08:39.52ID:H3Bos02D
Aho Weinberger Kernighan
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 4951日 12時間 12分 57秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況