[過去ログ] くだらねえ質問はここに書き込め! Part 234 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
267: 2018/12/06(木)02:21 ID:RbvlISCK(1/2) AAS
>>266
Vim前提で話をするなら
単語の先頭の一文字だけ小文字にしたいならこうかな
:global/^title/s/\(\w\)\(\w*\)/\L\1\E\2/g

単に全部小文字にしたいならこっちで十分
:global/^title/s/\(\w\+\)/\L\1\E/g
268: 2018/12/06(木)02:23 ID:RbvlISCK(2/2) AAS
:%global
にしといたほうがよかったかも
269: 2018/12/06(木)10:14 ID:VJYGKX8Y(1) AAS
プログラム板に、正規表現のスレがある

基本的に、英単語を抜き出すのが難しい。
英単語で使っている文字の、定義が難しい

\w 単語構成文字 [a-zA-Z0-9_]
これは、ハイフンを含んでいない

\b 単語境界にマッチします。
\B 非単語境界にマッチします
270
(1): 2018/12/06(木)20:23 ID:S31HjhWL(1) AAS
なんでこんな過っ疎過疎な板がLinuxとUnixで二つに分けられてるの?
271: 2018/12/06(木)21:07 ID:z/pRmxou(1) AAS
おまえMacとWinを1つにまとめられんの?
272: 2018/12/06(木)22:32 ID:mZZ09Eyz(1) AAS
そう、iphoneならね
273: 2018/12/07(金)04:23 ID:P1rbRY9S(1) AAS
外部リンク[html]:mevius.5ch.net
どのスレも長寿命なのいいよね・・・
274: 2018/12/07(金)07:21 ID:t8vaIhGY(1) AAS
カッソすぎて井戸端会議かよ
275: 2018/12/07(金)07:49 ID:8sRrmzDR(1) AAS
>>270
分けられた当時はもっと書き込みあったよ
あとこの板だけが過疎なわけじゃなく2ch全体が人減ってる

分けられた理由はLinux関連で荒れたから
276: 2018/12/07(金)08:18 ID:jFly8K+O(1) AAS
2chなんて使ってるひと居るんかな
277
(2): 2018/12/07(金)17:16 ID:2NexcV1c(1/2) AAS
exprコマンドってbashでは用無しと思ってました
例えば算術演算は(( ))を使うし
expr substrは${hoge:3:4}などを使います

ところがexpr indexのように文字列の中の特定の文字のインデックスを調べる機能は
bashの範囲では代替が見つかりませんでした(AWKの関数にあるのは知っています)
何かありますか?
278
(1): 2018/12/07(金)17:46 ID:dkbPVCR9(1/2) AAS
>>277
GNU Bashの拡張使ってもいいなら
wc -m <<< ${VAR%<文字>*}
これでどう?
279: 2018/12/07(金)17:50 ID:dkbPVCR9(2/2) AAS
自分で書いておいてなんだが
expr indexより勝っている点として
マルチバイト文字が適切に処理できることがあるな。
$ VAR='あいうえ'
$ expr index "${VAR}" 'う'
1
$ wc -m <<< ${VAR%う*}
3
この場合は3が返ってきて欲しい。
280: 277 2018/12/07(金)18:24 ID:2NexcV1c(2/2) AAS
>>278
レスありがとうございます

なかなか頭柔らかい方法ですな
確かにマルチバイト文字ではexpr index使えないので良いかもしれません
便利帳にメモらせていただきます
281
(1): 2018/12/07(金)19:57 ID:5F5HAMAB(1) AAS
<<<というのを初めて見ました
これがGNUの拡張ですか?
リダイレクトみたいもの?
282: 2018/12/07(金)20:28 ID:275uLVTQ(1) AAS
>>281
bash拡張でヒアストリングというやつ
$ hoge <<< ${VAR}

$ echo ${VAR} | hoge
と等価
283: 2018/12/07(金)22:35 ID:ejPNZuuT(1) AAS
partedのmkpartで
終了の容量を指定するのでなく、
開始から、100GiBのように容量で指定する方法ってありませんか?

※イメージするところ
(parted) mkpart name ext3 50GiB +100GiB
→50GiBの位置から、名前をnameにして、100GiBのパーティションを作成。
284
(1): 210 2018/12/07(金)23:01 ID:LUyV1vdc(1) AAS
gdisk
285
(2): 2018/12/08(土)00:48 ID:HesUPXBI(1/3) AAS
<<< これってGNU拡張なのか、知らなかった

<<-
286
(1): 285 2018/12/08(土)00:48 ID:HesUPXBI(2/3) AAS
途中でした

<<- これもGNU拡張?
287: 2018/12/08(土)05:24 ID:efUd6G0J(1) AAS
>>284
ありがとうございます。ほかのコマンドがあったんですね。
288
(1): 2018/12/08(土)08:30 ID:q3qr8MfH(1) AAS
>>286
それくらい調べようよ

<<-でヒアドキュメント部分の先頭タブ文字が無視されるっていうのは
POSIXで定義されているのでPOSIX sh互換を謳うどのシェルでも使えます。
外部リンク[html]:pubs.opengroup.org
289: 2018/12/08(土)11:16 ID:+Jbcoor3(1) AAS
先頭タブだけってほんと使えない仕様だよなw
ヒアドキュメントの終わりがインデントできないのも
片手落ちだし
290: 285 2018/12/08(土)11:16 ID:HesUPXBI(3/3) AAS
>>288
すみません、どうもです
291: 2018/12/08(土)15:01 ID:oXl1wIqx(1) AAS
シェルスクリプトでifやforなどで深くインデントしてるところでヒアドキュメントを入れるのは正直かっこ悪くて好きじゃない
<<-で先頭タブを使ったときもあるけど、まぁ微妙だなと
タブ幅なんてエディタやビューアの設定によるし、そもそもスクリプト内でタブ使うのってどうなのという
292
(1): 2018/12/08(土)21:03 ID:L02bMxkc(1) AAS
Ruby では、lstrip で、各行の先頭から、連続した空白類(空白・タブ文字など)を取り除く。
各行の先頭には、0〜2個のタブ文字があります

str = <<"EOT"
<div>
<p>
あいう
</p>
</div>
EOT

res = str.each_line.map( &:lstrip )
省1
293
(1): 2018/12/08(土)21:10 ID:OedfhKuH(1) AAS
sslのkeyからcsr作る時の対話モードって、手で打つしか無いの?
294
(1): 2018/12/09(日)00:03 ID:253GiW6t(1/2) AAS
>>293
標準入力から流し込んでもいいよ
295
(5): 2018/12/09(日)00:09 ID:gB79gozC(1/2) AAS
grep $'\n'
とするといかなる入力行もマッチするのですが
これは行末の改行にマッチするということですよね?

ところが
echo -n 'abc' | grep $'\n'
とやってもマッチしてしまって改行が存在しないはずなので
解せないのですがこれはどういうことでしょうか

grepコマンドは改行のない入力でも自前で改行つけた後に
検索するんでしょうかね
296: 2018/12/09(日)00:54 ID:1ArFEYUd(1) AAS
WindowsやmacOSのアプリケーションストアと、Linuxのパッケージ管理システムの違いってなんですか?
297
(2): 2018/12/09(日)03:02 ID:4X3RO9or(1/4) AAS
>>294
標準入力から流し込むというのがよくわからなかったのですが
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < 改行が入っているテキスト
これをやってみると、確かに期待通りのものができました。
対話モードがある場合はこういうのができるのですね。
298
(1): 295 2018/12/09(日)05:06 ID:gB79gozC(2/2) AAS
ちなみにヌルもマッチしてしまいますね

$'\0' <-- new
$'\n'
299
(1): 2018/12/09(日)06:59 ID:253GiW6t(2/2) AAS
>>297
> 対話モードがある場合はこういうのができるのですね。
そうとも限らない
たとえばCSR作るケースだと
鍵にパスワードが設定してある場合はパスワード入力には使えない
そういうときはexpectを使う
300: 2018/12/09(日)09:29 ID:4X3RO9or(2/4) AAS
>>299
なるほど、パスを削除していないkeyの時は、2行パスを書くなどは×でexpectを使うのですね。
一度使ったことがありましたが少し面倒でした。ありがとうございます。
301
(1): 2018/12/09(日)11:15 ID:/RuDibjk(1/2) AAS
>>295
空文字列に一致している
改行はパターンの一部ではなく、複数のパターンの区切り

$ echo -n 'abc' | grep -o 'a
b'
a
b
$

外部リンク[html]:pubs.opengroup.org
> The pattern_list's value shall consist of one or more patterns separated by <newline> characters;
302
(1): 2018/12/09(日)13:18 ID:/RuDibjk(2/2) AAS
>>298
bashの場合、コマンドを実行するよりも前の時点で
bashが引数に含まれるNULを取り除いている

$ echo ab$'\0'c | hexdump -c
0000000 a b c \n
0000004

なのでbashでは
grep $'\0' は grep '' と同じで
grep ab$'\0'c は grep abc と同じ

zshではNULを含む引数もそのままコマンドに渡しているので違う結果になる
303: 2018/12/09(日)14:31 ID:oLpqFNSA(1) AAS
昔はttyの1番にだけ背景にペンギンの絵とか表示されてたと思うんだけど
これっていつから無くなったの?
KMS導入後?
304
(1): 297 2018/12/09(日)19:39 ID:4X3RO9or(3/4) AAS
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < 改行が入っているテキスト
をファイルを使わずにシェルスクリプトにして変数にして読み込ませたいのですが、

STD_IN="JP\nTokyo\nChuo-ku\n(省略)"
openssl req -new -key hoge.example.jp.key -out hoge.example.jp.csr < ${STD_IN}

とやっても、ファイルが見つかりませんと出てしまいました。
変数の入れ方は1行に入れるのか、ヒアドキュメントみたいな形にもできるのか、

< には変数は使えないのでしょうか?
305
(1): 2018/12/09(日)20:03 ID:ECj7FB1h(1) AAS
>>304
少し上にも出てたけど
openssl ... <<< ${STD_IN}
306: 2018/12/09(日)20:41 ID:4X3RO9or(4/4) AAS
>>305
ありがとうございます!
bash拡張でこんなのがあるのですね。
307: 2018/12/10(月)00:05 ID:SK07uHh5(1) AAS
>>292
Rubyではそんなことしない。
お前Rubyの勉強したほうがいいぞw
308: 295 2018/12/10(月)01:47 ID:iaZVXIYt(1/2) AAS
>>301-302

そういうことだったんですね
grepにパターンを分割してわたす方法は-eオプションを複数用いるのが
唯一かと思っていましたが、改行区切りでもわたせるんですね

grep $'�n'$'�n'

このようにしても同じことのようですね
ただ

grep $'�n' $'�n'
省4
309: 295 2018/12/10(月)01:48 ID:iaZVXIYt(2/2) AAS
文字間違えました
→ \
310: 295 2018/12/10(月)07:24 ID:rDY5Jm5J(1) AAS
1つ誤解がありましたので訂正します
grep $'\n' $'\n'
とするとスペースの後ろの改行文字自体をファイルとして指定したと
解釈されてエラーになるようです
311: 2018/12/13(木)07:59 ID:BpuyFdNl(1) AAS
age
312: 2018/12/13(木)08:47 ID:YYFyHPut(1/3) AAS
$ echo "
> foo
> bar"

foo
bar
引用符一つ入れると改行できたのね・・・
ヒアストリングも<<<"でできるようだし
echo -eだのprintfだの`cat -`だの色々やってたわ
313
(5): 2018/12/13(木)09:47 ID:g4Xg+Gp3(1/5) AAS
[[ -z $hoge ]] や [[ -n $hoge ]]
って必要ですか?

[[ $hoge ]] とか [[ ! $hoge ]] で代用できそうなんですが…

何が違うんでしょ
314
(2): 2018/12/13(木)10:41 ID:9d5jxDGh(1/4) AAS
>>313
もし$hogeの値が「-e /dev/null」とかだったらどうするのよ。
315: 2018/12/13(木)11:07 ID:2p8AEIUJ(1/13) AAS
>>314
何も問題ないですよね?
316: 313 2018/12/13(木)11:09 ID:g4Xg+Gp3(2/5) AAS
>>314
自分も試してみましたが、問題ないようです
317
(1): 313 2018/12/13(木)12:10 ID:g4Xg+Gp3(3/5) AAS
さらにいろいろ試してみましたが
変数の内容がオプションと解釈されてしまって真偽値に影響がでるケースとして

hoge='-e unknown'
[ $hoge ] || echo null

とやってみるとhogeは空でも未定義でもないのに
nullと表示されてしまい、本来の意図とは違う結果になるようです

ただこれも解決方法があり
[ "$hoge" ] || echo null
とすれば意図したテストができるようです
もとより[[を使えば引用符もいらないみたいですね
省3
318
(1): 2018/12/13(木)12:33 ID:2p8AEIUJ(2/13) AAS
>>317
[[ は POSIX非標準。古い新しいではなくbashによって追加された拡張構文
POSIX標準のシェルは対応しない。POSIX標準のシェルには、debianの
デフォルトシェルであるdashやyashやposhがある
どのシェルでも動くようにするならば、[[ は使ってはいけない
319: 313 2018/12/13(木)12:39 ID:g4Xg+Gp3(4/5) AAS
>>318
そうなんですね
じゃあやはりPOSIXの範囲内では[の後に-nや-zを使った方が
変数の内容を意図せずオプションと解釈されてしまう場合でも
エラーになって気づくので安全と言えば安全なのかもしれませんね
うっかり変数を引用符で囲み忘れる場合もあるだろうし
320: 2018/12/13(木)12:47 ID:2p8AEIUJ(3/13) AAS
> じゃあやはりPOSIXの範囲内では[の後に-nや-zを使った方が

俺は使わない。ダブルクォート忘れで困るのは、ここだけじゃない
コマンド呼び出しの、foo "$hoge" "$hage" "$tsuru" "$pika" とかも全部そう。
忘れるとか、そんなもんshellcheckを使えばすぐに解決するんだから気にすることじゃない
そもそもダブルクォートをつけ忘れは、-nや-zを使っても解決しない。
321: 2018/12/13(木)12:52 ID:2p8AEIUJ(4/13) AAS
まあ-zは使うけどな。単に読みやすさのため。
否定というのは場合によっては分かりづらくなる

「空文字なら」 は -z(ゼロの長さなら)で読みやすい
「文字があるの否定」は分かりづらい

「文字がある」はわかりやすいが
-n は no? 文字がノーってことか?で分かりづらい
文字があるという状態を示すために、nを割り当てたやつはセンスがない
322: 313 2018/12/13(木)13:11 ID:g4Xg+Gp3(5/5) AAS
最近の言語を何かしらやってる人間にとっては変数の空文字列チェックを
変数そのものでやるというのも馴染みがあってわかりやすいので
できればそうしたいと思ったんですよね

最初の質問の趣旨に戻りますが、-zや-nを使わなくても同等のテストが
できるということで間違いないなら

[[ $hoge ]] [[ ! $hoge ]]

[ "$hoge" ] [ ! "$hoge" ]
の方が個人的には読みやすいかな

よくよく考えたら自分はbashしか使わないので便利な[[で事足りそう
323: 2018/12/13(木)13:17 ID:9d5jxDGh(2/4) AAS
-zや-nは文字列長を判定するのに対して<string>は文字列そのものを判定するっていう違いがあるけど
引用符で囲った場合においてこれらに動作上の違いがあるのか俺には分からん。
少なくとも今のところない。
324: 2018/12/13(木)14:50 ID:YYFyHPut(2/3) AAS
testが[としてbashに内蔵されてて驚く
両方ともなぜか外部コマンドもあって驚く
[[が機能多いのにただのbashの方言で驚く

$ type -a test [ [[
test はシェル組み込み関数です
test は /usr/bin/test です
[ はシェル組み込み関数です
[ は /usr/bin/[ です
[[ はシェルの予約語です
325
(1): 2018/12/13(木)16:04 ID:2p8AEIUJ(5/13) AAS
> testが[としてbashに内蔵されてて驚く

[ が内蔵されてないシェルなんて知らんのだが?
そんなもん現実に存在するのか?
326
(1): 2018/12/13(木)16:21 ID:9d5jxDGh(3/4) AAS
>>325
外部リンク:www.unix.com
327: 2018/12/13(木)16:33 ID:2p8AEIUJ(6/13) AAS
>>326
マニュアルが有るのはわかったが、
シェルはどこに存在してるんだ?
328: 2018/12/13(木)16:40 ID:2p8AEIUJ(7/13) AAS
もはや神話の世界だな

testが組み込みでないシェルは、コメントも使えないシェルということか

外部リンク:ja.wikipedia.org

> UNIX System III(1981年)
> test コマンドを組み込み。
> # でコメントを書き込めるようになった。

さらに関数数定義も出来ず、Unicodeも扱えないようだ
そんなもん現存してないだろう
省5
329
(1): 2018/12/13(木)17:17 ID:9d5jxDGh(4/4) AAS
「手元にない」ということと「存在を考えなくていい」とは別物だからね。
330: 2018/12/13(木)17:22 ID:YYFyHPut(3/3) AAS
globも元は外部コマンドとかも調べなきゃ分からんわ
フィルタをグロブと呼ぶ変わった宗教って認識だったからな
331
(1): 2018/12/13(木)17:24 ID:2p8AEIUJ(8/13) AAS
>>329
だからどこに存在しているんですか?
332: [age] 2018/12/13(木)18:43 ID:5CGSaiem(1) AAS
>>331
我が家のSun OS 4の/bin/sh。
333: 2018/12/13(木)19:03 ID:2p8AEIUJ(9/13) AAS
外部リンク:ja.wikipedia.org
> SunOS 4.1.4 1994年11月

俺が生まれる前かよw
334: 2018/12/13(木)19:05 ID:2p8AEIUJ(10/13) AAS
> SunOS 4.1.1インストール媒体(磁気テープ)

この画像に驚愕した
ビデオテープかよw
335: 2018/12/13(木)19:16 ID:2U4H8MIt(1) AAS
いや磁気テープは現役ですし……
336: 2018/12/13(木)19:16 ID:Zfs8AO7d(1) AAS

337
(1): 2018/12/13(木)19:22 ID:2p8AEIUJ(11/13) AAS
sunos 4.1 4 download でぐぐったら出てきた
x86用があったから解凍してみたら、
拡張子img(フロッピーディスク?)のファイルが36個でてきた
これ動くのか? 確認したくてもよくわからん

外部リンク:winworldpc.com
338: 2018/12/13(木)20:01 ID:Kpl2TedD(1/2) AAS
cshにもtcshにも組み込まれてないが
testも[も
339
(1): 2018/12/13(木)20:06 ID:2p8AEIUJ(12/13) AAS
$ csh
solaris% type test
test is a shell builtin
solaris% tcsh
> type test
test is a shell builtin
340: 2018/12/13(木)20:15 ID:FwJygUTm(1) AAS
>>337
VMWareでもVirtualBoxでも用意してやってみろ
インテルなら多分動く
341: 2018/12/13(木)21:22 ID:Kpl2TedD(2/2) AAS
>>339
その"type"ってのも無いんだけど?
command not found って出る
342: 2018/12/13(木)21:24 ID:2p8AEIUJ(13/13) AAS
劣化版なのでは?
343
(1): 2018/12/13(木)21:36 ID:rsnZtD/M(1) AAS
磁気テープ知らん奴がいるのか・・・
俺も歳を取るわけだ・・・ ハーー
344: 2018/12/13(木)21:39 ID:rk530vyH(1) AAS
磁気テープがバックアップ媒体でバリバリ現役なんだぜ。
345: 2018/12/13(木)22:44 ID:jQhV0FO+(1) AAS
>>343
オープンリールのテープならともかくqicなんてddsの前位だろ。あんたも俺もまだ若造だよ。ハー。
346: 2018/12/14(金)00:56 ID:Dwi6kCsC(1) AAS
フラッシュメモリや円盤の耐用年数は、5年だろ

一方、磁気テープは、30年とかだろ
347: 2018/12/14(金)02:31 ID:WFElEHpX(1/4) AAS
磁気テープってなんかロマンあるよね。実際見たことないけどw
348: 2018/12/14(金)03:07 ID:GpLUKSLa(1/3) AAS
俺も知らなかった
当時高価なUNIXとは無関係なごく一般的なパソヲタはこういう流れだから特殊なものだと思った方がいい
オーディオ用アナログカセットテープ → 5インチフロッピーディスク → 3.5インチフロッピーディスク → 3.5インチMO → CD-R/RW → USBメモリ
349
(1): 2018/12/14(金)03:23 ID:vny8+/a7(1) AAS
オーディオ用カセットテープ??
350: 2018/12/14(金)03:37 ID:GpLUKSLa(2/3) AAS
あれ?mz700とかの媒体ってオーディオ用のやつでしょ?キーガーとか音出しながらアナログからデジタルに変換して読み込むの
351: 2018/12/14(金)03:47 ID:CQSYnmf/(1) AAS
勘違いしとるな
 
ドライブ本体が安けりゃ欲しい
352: 2018/12/14(金)03:53 ID:GpLUKSLa(3/3) AAS
そりゃ誰だって欲しいw
353: 2018/12/14(金)07:09 ID:tfnsNf0y(1) AAS
>>349
PC6001の時代だよ。
16KBの増設メモリーが8トラのカセット位の大きさ。
データはカセットでメモる。
354
(1): 2018/12/14(金)08:28 ID:WFElEHpX(2/4) AAS
sudoeditで起動したエディタに元のファイルの名前を渡す方法ってありますか。
sudoeditでファイルを読み込むと/var/tmp/以下に一時的なファイルが作成されるんだが
VimやEmacsなどの一部のエディタは設定ファイルの名前をもとにシンタックスの種類を決定することがある。
だから/var/tmp/にファイルが作成されるとその機能が使えなくなってしまう。
例えば/etc/fstabを編集するとき、エディタは「/etc/fstab」というファイルの名前からfstab用のシンタックスを適用してくれるんだけど
$ sudoedit /etc/fstab
とやって編集するとファイルが/var/tmp/XXXXXXXに移動してしまいfstab用のシンタックスが適用されなくなってしまう。
355
(1): 2018/12/14(金)08:32 ID:JQUDZnsy(1) AAS
磁気テープが現役でしかもTB単位とかロマンを感じる
カセットやVHSは知っててもで大型用は写真でしか知らんからな
でかいリール使ってるあれって速度的にはどうなん
356: 2018/12/14(金)08:46 ID:ovdRZLka(1) AAS
LTOはそれなりに速い
357
(1): 2018/12/14(金)10:10 ID:ikwr+G0A(1/2) AAS
普通のHDDより速いね
バックアップなんてどうせシーケンシャルアクセスしかしないし
358
(1): 2018/12/14(金)15:27 ID:WFElEHpX(3/4) AAS
>>357
まじで?
カセットテープの話だよね? あれがHDDに読み出し速度で勝るとは思えないんだけど
構造が特殊なのかな。パソコン用のカセットテープは。
359: 2018/12/14(金)16:10 ID:ikwr+G0A(2/2) AAS
LTOすら知らんのかよ・・・
360: 2018/12/14(金)16:25 ID:mnvRUogY(1) AAS
tape archivesのテープってひょっとしてそれのこと?
361: 2018/12/14(金)18:01 ID:4OG2vapp(1) AAS
ここ4〜5レスは、レベルが違いすぎて議論が噛み合っていない。
見ていて楽しいwww
362: 2018/12/14(金)18:39 ID:WFElEHpX(4/4) AAS
見ていて楽しい(話についていけない)
363: 2018/12/14(金)18:59 ID:C13Zox/x(1) AAS
Sun のが 2400ボーだったら気が遠くなりますw
364: 2018/12/14(金)19:01 ID:Wd54hADz(1) AAS
ハタボーだふぉーん
365: 2018/12/14(金)20:34 ID:Ek1UBBLm(1) AAS
>>358
読み書き位置を決める動作はHDDのシークとかよりテープの方が簡単
だと素人目にも感じない?
366
(1): 2018/12/14(金)21:05 ID:t7Qx0ST8(1/2) AAS
>>355
こんな奴の話ならテープの絶対速度はかなり早くて120inch(3mちょい)/s程度
ただ記録密度が低いからデータ転送速度はたいしたことなくて200kb/s程度
画像リンク[jpg]:museum.ipsj.or.jp
1-
あと 636 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s