【古典的モダン】Perlについての質問箱 51箱目at TECH
【古典的モダン】Perlについての質問箱 51箱目 - 暇つぶし2ch164:デフォルトの名無しさん
22/02/14 19:43:31.51 SjaA8f+R.net
'grep' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

165:160
22/02/14 20:21:12.04 xbNILGkv.net
MINGWではなくGit for Windows 2.35.1.2のMSYSに訂正
C:\Program Files\Git\usr\binにPATHを通している
>uname
MSYS_NT-10.0-19041
>grep --version
grep (GNU grep) 3.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <URLリンク(gnu.org)
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <URLリンク(git.sv.gnu.org)
>grep -P foo
/usr/bin/grep: -P supports only unibyte and UTF-8 locales
以下、Chocolateyのgrepの場合
>grep --version
grep.exe (GNU grep) 3.7
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <URLリンク(gnu.org)
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others; see
<URLリンク(git.sv.gnu.org)
Patched by: Michael M. Builov <mbuilov@gmail.com>.
>grep -P foo
grep.exe: Perl matching not supported in a --disable-perl-regexp build

166:160
22/02/14 20:33:42.00 xbNILGkv.net
失礼
環境変数に LC_CTYPE=ja_JP.UTF-8がセットされてなかっただけらしい

167:160
22/02/14 20:39:16.14 xbNILGkv.net
Chocolateyのgrepは環境変数に LC_CTYPE=ja_JP.UTF-8がセットされててもダメ
grep --helpコマンドで-Pオプション表示されるけど実際には使えない

168:デフォルトの名無しさん
22/02/14 22:36:54.77 CumnTUFy.net
Git for Windowsのgrepはおまけみたいなもんやろ。
しゃあない。
Git以外も使うんならMSYS2にするべき。

169:デフォルトの名無しさん
22/02/14 22:38:38.84 SjaA8f+R.net
WSLでいい

170:デフォルトの名無しさん
22/02/15 08:43:15.81 5Cl7umfN.net
というかwinならsls使えるんでは

171:デフォルトの名無しさん
22/02/15 09:33:33.33 CMc47lH5.net
部分マッチ情報とか付いた$_が任意のコードブロックに渡せるし普通にgrepより強い、perlっぽいし
ただし内部コマンドなのが玉に瑕
bashとかの非標準シェルを使ってるとpwsh -cにパイプや引数で渡す必要があるし、$_等のシェル変数使うから後で参照できねえ

172:デフォルトの名無しさん
22/02/15 12:43:38.51 LH9Iimee.net
WSL2, Ubuntu 18.04 では、
grep --version
grep (GNU grep) 3.1
-P, --perl-regexp
PATTERN を Perl の正規表現として扱います。
きわめて実験的なものなので、
grep -P を使うと、その機能は実装されていません、という警告が出るかもしれません

173:デフォルトの名無しさん
22/02/15 14:44:11.29 ch4uHJq0.net
windows版だけの問題なのか?
gnu grepの-Pはもう少なくとも十年以上その表記
そもそもundocumentedだが、サブパターンのネスト、バックトラック切り、アサーション周りが怪しい
windows使ってるなら標準コマンドのselect-stringを使え
(?>)(?<=)(?<!)(?=)等表記も標準的
-r相当のオプションは無いけどgciがfind同等のコマンドだからパイプするのがイディオム(未テスト)
> get-childitem /some/where -recurse -depth 1 |select-string [-opts] "pat"
windowsでbash使ってるなら多分こんな感じになるだろう
bash$ perl -E 'say "@INC"; ' |pwsh -c '
$input -split " " |gci -r -d 1 -inc "*.pod" -exc "*delta*" |sls "^=head NAME"
'
汚なくて嫌ならperlを使え、そのためのPerlだ

174:デフォルトの名無しさん
22/02/15 14:49:23.52 ch4uHJq0.net
あ、最後のslsに -contextが抜けてた
sls -con 2 "..."でname - descrを表示する意図だった、念の為

175:デフォルトの名無しさん
22/02/15 15:05:25.32 RAmS19mH.net
ずいぶんエラソーですね

176:デフォルトの名無しさん
22/02/16 03:32:34.88 Mkae6rZq.net
誰だか何となくワカタ

177:デフォルトの名無しさん
22/02/16 08:25:04.50 Kby4UhL4.net
ワロw

178:デフォルトの名無しさん
22/02/23 22:59:01.37 VOimcA5h.net
薄めのORMない?小さめのスクリプトにはDBICいくらなんでも重すぎる

179:デフォルトの名無しさん
22/02/26 11:08:00.76 0iPdwkze.net
Teng

180:デフォルトの名無しさん
22/05/16 21:11:45.65 XzOAdinb.net
あげ

181:デフォルトの名無しさん
22/05/18 23:59:05.74 Tv2EzwC/.net
未だにpythonで
push array, value
とか書いてエラーになる
正しくは
array.append(value)
どうにも窮屈だな

182:デフォルトの名無しさん
22/05/19 01:14:38 fIfBGhTn.net
push = lambda a,v: a.append(v)

183:デフォルトの名無しさん
22/05/19 01:18:01 fIfBGhTn.net
lambdaに名付けるとリンタに怒られるんだっけか
push = list.append
push (array, value)
が多分真っ当でたぶん動く

184:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch