まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
http://www12.atwiki.jp/linux2ch/
読んでも解決しなかったら、質問を書きこむ前にここを読もう。
http://www12.atwiki.jp/linux2ch/?About
質問に対して答えてもらったら、お礼よりも、結果報告。
過去ログ検索
Google検索
https://www.google.com/search?hl=ja&as_q=検索語句&as_sitesearch=2ch.net%2Ftest%2Fread.cgi%2Flinux%2Fhttps://www.google.com/search?hl=ja&as_q=検索語句&as_sitesearch=5ch.net%2Ftest%2Fread.cgi%2Flinux%2F
※前スレ
くだらねえ質問はここに書き込め! Part 233
http://mao.5ch.net/test/read.cgi/linux/1536848825/
くだらねえ質問はここに書き込め! Part 234
■ このスレッドは過去ログ倉庫に格納されています
2018/11/16(金) 22:58:46.21ID:KePwDHh2
2019/01/15(火) 19:39:38.19ID:cwR3mfso
https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%90%E3%83%B3_(Unix)
>ファイル先頭のシバンを認識するのは、OSの execve システムコール(exec を参照)を処理するルーチン中のプログラムローダーである。
普通に書いてある
>ファイル先頭のシバンを認識するのは、OSの execve システムコール(exec を参照)を処理するルーチン中のプログラムローダーである。
普通に書いてある
2019/01/15(火) 19:56:34.68ID:BN3zpeuW
2019/01/15(火) 20:14:23.39ID:3wF6LWtn
シェバンはカーネルが実行するんやで
勉強になりました。w
勉強になりました。w
2019/01/15(火) 23:58:33.54ID:FoJFyUQ2
┌┴┐┌┴┐┌┴┐ -┼-  ̄Tフ ̄Tフ __ / /
_ノ _ノ _ノ ヽ/| ノ ノ 。。
/\___/ヽ
/ノヽ ヽ、
/ ⌒''ヽ,,,)ii(,,,r'''''' :::ヘ
| ン(○),ン <、(○)<::| |`ヽ、
| `⌒,,ノ(、_, )ヽ⌒´ ::l |::::ヽl
. ヽ ヽ il´トェェェイ`li r ;/ .|:::::i |
/ヽ !l |,r-r-| l! /ヽ |:::::l |
/ |^|ヽ、 `ニニ´一/|^|`,r-|:「 ̄
/ | .| | .| ,U(ニ 、)ヽ
/ | .| | .|人(_(ニ、ノノ]
_ノ _ノ _ノ ヽ/| ノ ノ 。。
/\___/ヽ
/ノヽ ヽ、
/ ⌒''ヽ,,,)ii(,,,r'''''' :::ヘ
| ン(○),ン <、(○)<::| |`ヽ、
| `⌒,,ノ(、_, )ヽ⌒´ ::l |::::ヽl
. ヽ ヽ il´トェェェイ`li r ;/ .|:::::i |
/ヽ !l |,r-r-| l! /ヽ |:::::l |
/ |^|ヽ、 `ニニ´一/|^|`,r-|:「 ̄
/ | .| | .| ,U(ニ 、)ヽ
/ | .| | .|人(_(ニ、ノノ]
2019/01/15(火) 23:58:55.95ID:OT8aKb3q
この流れなら聞ける気がする!!
ld-linux-x86-64.so.2とかはなんでreadelfで見るとDYN(Shared object file)でしかもプログラムヘッダにはPT_INTERPもないのに実行できるの?
ld-linux-x86-64.so.2とかはなんでreadelfで見るとDYN(Shared object file)でしかもプログラムヘッダにはPT_INTERPもないのに実行できるの?
601login:Penguin
2019/01/16(水) 03:05:32.03ID:VHwVZmlT OS起動してないPCからハードディスクのデータって抜き出せるの?
602Evrything is a file.
2019/01/16(水) 04:35:21.63ID:1ezdqFxJ >>601
USBメモリにインストールされたLinuxや、USBメモリのWindows起動ディスクでパソコンを起動して、内蔵ハードディスクにアクセスする。
手順
コンビニにいく→Linuxなら8GBのUSBメモリを買う。1000円しない。Windows10なら念のため16GBの方が良いかもな。→起動ディスク作成解説のYouTubeなりを見る。→USBから起動→内蔵ハードディスクのデータを取り出す。
些細なファイルなら起動用のUSBに保存して構わんが、データ量が大きいなら、コピー先となる容量の大きい外部ハードディスクやUSBメモリを挿しとけ。
注意はWindowsからはLinuxは見えない。復旧したい内蔵ハードディスクがLinuxのファイルしすてむなら、起動USBメモリもLinuxでなければならない。。
ところがLinuxからはWindowsの入ったハードディスクは見えるので、Windowsの起動ディスクが作成できない状況ならLinuxのUSB起動ディスクからファイルを救出することとなる。
USBメモリにインストールされたLinuxや、USBメモリのWindows起動ディスクでパソコンを起動して、内蔵ハードディスクにアクセスする。
手順
コンビニにいく→Linuxなら8GBのUSBメモリを買う。1000円しない。Windows10なら念のため16GBの方が良いかもな。→起動ディスク作成解説のYouTubeなりを見る。→USBから起動→内蔵ハードディスクのデータを取り出す。
些細なファイルなら起動用のUSBに保存して構わんが、データ量が大きいなら、コピー先となる容量の大きい外部ハードディスクやUSBメモリを挿しとけ。
注意はWindowsからはLinuxは見えない。復旧したい内蔵ハードディスクがLinuxのファイルしすてむなら、起動USBメモリもLinuxでなければならない。。
ところがLinuxからはWindowsの入ったハードディスクは見えるので、Windowsの起動ディスクが作成できない状況ならLinuxのUSB起動ディスクからファイルを救出することとなる。
2019/01/16(水) 06:35:20.19ID:4p2GcZ++
2019/01/16(水) 13:13:31.14ID:Qs4CW8g3
Ubuntuのタスクマネージャを見ていて思ったのですが
Windows (7, 10)と比べてメモリは多く消費しているのにディスク使用率がかなり少ないですよね
もしかしたら僕の環境のせいかもしれないのですが
Linuxが(メモリを消費する割に)軽いのはディスクアクセスが少ないからなんですかね。
Windows (7, 10)と比べてメモリは多く消費しているのにディスク使用率がかなり少ないですよね
もしかしたら僕の環境のせいかもしれないのですが
Linuxが(メモリを消費する割に)軽いのはディスクアクセスが少ないからなんですかね。
2019/01/16(水) 13:23:57.12ID:cQMJc8ev
お前の中ではそうなんだろうな
2019/01/16(水) 13:58:14.73ID:7X37mgxB
2019/01/16(水) 15:37:17.29ID:3hGWWV8d
2019/01/16(水) 16:20:07.12ID:0cRyARSL
man熟読とかそれ別の修行だな
2019/01/16(水) 18:57:23.48ID:aiEqsD6q
>>606
>そのうち分かるだろうと思ってるうちに15年経ってしまった
俺もなんだけど低脳は長い間やっていても、脳レベルが低い、
脳レベルの低さを補うために必死に努力しないといけないのにろくに努力しないもんだから
低レベルで進化がストップだからな。
一方、高脳は15年もやっているとマスターレベルに進化しているんだろうが
>そのうち分かるだろうと思ってるうちに15年経ってしまった
俺もなんだけど低脳は長い間やっていても、脳レベルが低い、
脳レベルの低さを補うために必死に努力しないといけないのにろくに努力しないもんだから
低レベルで進化がストップだからな。
一方、高脳は15年もやっているとマスターレベルに進化しているんだろうが
610login:Penguin
2019/01/16(水) 19:36:39.23ID:FEpqTXyD >>606
とりあえずこの「パスワードファイルとシャドウパスワードファイルについて」節くらいのことわかっとけば十分じゃね
https://blog.amedama.jp/entry/linux-shadow-passwd
とりあえずこの「パスワードファイルとシャドウパスワードファイルについて」節くらいのことわかっとけば十分じゃね
https://blog.amedama.jp/entry/linux-shadow-passwd
2019/01/16(水) 20:36:48.72ID:3GhC5Fdo
わがんね
2019/01/16(水) 21:53:17.36ID:wdC5ClHX
低脳の対義語で高脳に違和感を感じる
2019/01/16(水) 22:03:16.77ID:sx9/X2NH
低知能、高知能なら違和感ない
2019/01/16(水) 23:05:45.82ID:OmTbfm5b
CentOSで、wgetの画像版みたいなのありませんでしょうか。
URL指定して、その先のキャプチャをとってくれるようなコマンドです
urltopng http;//www.hoge.com -o /tmp/hoge.png
↑こんな感じで簡単に指定できるとものすごく助かります
URL指定して、その先のキャプチャをとってくれるようなコマンドです
urltopng http;//www.hoge.com -o /tmp/hoge.png
↑こんな感じで簡単に指定できるとものすごく助かります
2019/01/16(水) 23:09:06.04ID:/aJSKE/A
画像版ってなんだよ
HTMLをなんだと思ってるんだ
HTMLをなんだと思ってるんだ
2019/01/16(水) 23:15:28.91ID:PNUxWuBU
結局はhtmlやらcssやらダウンロードしてきてレンダリングするしか方法無いからな
chromiumやfirefoxをヘッドレスで動かしたらできるやろ
chromiumやfirefoxをヘッドレスで動かしたらできるやろ
2019/01/16(水) 23:29:18.40ID:OmTbfm5b
>>616
ありがとうございます。
ヘッドレス(ブラウザ?)って言葉がヒントになって
該当する情報を見つけられました。
いろいろ調べなきゃいけないようですが
なんとかできそうです
ありがとうございます。
ありがとうございます。
ヘッドレス(ブラウザ?)って言葉がヒントになって
該当する情報を見つけられました。
いろいろ調べなきゃいけないようですが
なんとかできそうです
ありがとうございます。
2019/01/16(水) 23:50:13.38ID:0MPGI0Op
Mozilla Firefoxには少し前まで「--screenshot」っていうそのものズバリのオプションがあったんだけど
どういう訳が削除されちゃったみたい。公式ドキュメントからも消えてるし。
ただWebページを画像として保存するっていうのは
一聞すると荒唐無稽に思えるかもしれないけど
ブラウザ間の互換性とかを調べるのに手っ取り早くて確実だったりするんだよね。
どういう訳が削除されちゃったみたい。公式ドキュメントからも消えてるし。
ただWebページを画像として保存するっていうのは
一聞すると荒唐無稽に思えるかもしれないけど
ブラウザ間の互換性とかを調べるのに手っ取り早くて確実だったりするんだよね。
619login:Penguin
2019/01/17(木) 03:07:27.44ID:RAH/F2Nx >>602
それOS起動してるやん
それOS起動してるやん
2019/01/17(木) 05:50:09.48ID:bHH3k90Z
$ cat foo.txt
123abc
$ perl -pei 's/\d+//' foo.txt
Can't open s/\d+//: そのようなファイルやディレクトリはありません.
123abc
$ perl -pe 's/\d+//' -i foo.txt
$ cat foo.txt
abc
perlでsed記法ができるらしいがsedと違ってperlの-iは後ろじゃないとダメとか何このトラップ
123abc
$ perl -pei 's/\d+//' foo.txt
Can't open s/\d+//: そのようなファイルやディレクトリはありません.
123abc
$ perl -pe 's/\d+//' -i foo.txt
$ cat foo.txt
abc
perlでsed記法ができるらしいがsedと違ってperlの-iは後ろじゃないとダメとか何このトラップ
2019/01/17(木) 09:24:44.15ID:hR3V3mrP
ていうかいい加減
-longopt←こういう記法廃れてほしい。
特にJava関係のアプリに多く見受けられる印象があるけど
--longopt←こういう形式のほうが標準入力(-)オプション終了(--)とかのパースがしやすいし
(慣れの問題でもあるものの)「自然」。
と、いうか-longoptでもいいからどっちかにしてくれ……!
-longopt←こういう記法廃れてほしい。
特にJava関係のアプリに多く見受けられる印象があるけど
--longopt←こういう形式のほうが標準入力(-)オプション終了(--)とかのパースがしやすいし
(慣れの問題でもあるものの)「自然」。
と、いうか-longoptでもいいからどっちかにしてくれ……!
2019/01/17(木) 17:28:13.28ID:Y5jtLWLb
>>620
$cat foo.txt
123abc
$sed -ei 's/[0-9]*//' foo.txt
sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます
$ # まあ、当たり前だね。
$cat foo.txt
123abc
$sed -ei 's/[0-9]*//' foo.txt
sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます
$ # まあ、当たり前だね。
2019/01/17(木) 19:56:11.79ID:+lEbs1y/
>>614
wget は、クローラーだろ
何階層まで再帰するかとか、
ダウンロードするファイルの拡張子も指定できる
Ruby のクローラーの本でも、最初は、wget で作る。
その後、同じものをRuby, Selenium WebDriver, Nokogiri で、スクレイピングする
wget は、クローラーだろ
何階層まで再帰するかとか、
ダウンロードするファイルの拡張子も指定できる
Ruby のクローラーの本でも、最初は、wget で作る。
その後、同じものをRuby, Selenium WebDriver, Nokogiri で、スクレイピングする
2019/01/17(木) 20:07:40.60ID:+lEbs1y/
>>620
そりゃ、-i は無引数のスイッチじゃない!
引数が必要なオプションだから、引数は、-i の直後に書かないといけない
オプションには無引数のものと、引数を取るものがある。
すべてのコマンドで、そのルール
Ruby でコマンドラインオプションを処理する、ARGV.options, OptionParser でも見れば?
そりゃ、-i は無引数のスイッチじゃない!
引数が必要なオプションだから、引数は、-i の直後に書かないといけない
オプションには無引数のものと、引数を取るものがある。
すべてのコマンドで、そのルール
Ruby でコマンドラインオプションを処理する、ARGV.options, OptionParser でも見れば?
2019/01/18(金) 00:38:59.35ID:r5ZKdb3c
ワガママハイスペック買ったんだけどどうやるの?
2019/01/18(金) 01:03:37.33ID:eccQwlZo
何をどうやるの
2019/01/18(金) 04:01:42.50ID:wL1cq/nG
>>624
$ sed --version
sed (GNU sed) 4.2.2
$ cat foo.txt
123abc
$ sed -i 's/123//' foo.txt
$ cat foo.txt
abc
BSD版のsed不便じゃないの?
$ sed --version
sed (GNU sed) 4.2.2
$ cat foo.txt
123abc
$ sed -i 's/123//' foo.txt
$ cat foo.txt
abc
BSD版のsed不便じゃないの?
2019/01/18(金) 04:41:40.61ID:AimlejDj
GNU版が便利なんだよ。
macOSを含めBSD版はやるきねーから
macOSを含めBSD版はやるきねーから
2019/01/18(金) 05:14:57.60ID:wL1cq/nG
$ sed -re -i 's/a/A/' foo.txt
sed: -e expression #1, char 1: 不明なコマンド: `-'
$ sed -rei 's/a/A/' foo.txt
sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます
$ sed -ire 's/a/A/' foo.txt
$ perl -i.bak -pe 's/\w+/123/' foo.txt
$ ls
foo.txt foo.txtre foo.txt.bak
まぁ-iだけは分けた方が確実だな
-iの直後にオプション並べても接尾辞扱いされるようだし
sed: -e expression #1, char 1: 不明なコマンド: `-'
$ sed -rei 's/a/A/' foo.txt
sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます
$ sed -ire 's/a/A/' foo.txt
$ perl -i.bak -pe 's/\w+/123/' foo.txt
$ ls
foo.txt foo.txtre foo.txt.bak
まぁ-iだけは分けた方が確実だな
-iの直後にオプション並べても接尾辞扱いされるようだし
2019/01/18(金) 12:23:58.42ID:1Q2Qf3Wk
631login:Penguin
2019/01/18(金) 16:49:08.26ID:eB0cgMq3 >>630
文字列の内容では区別していないね
-e や -f でスクリプトを明示的に指定していない場合は
オプション(とその引数)をすべて取り除いた後に残ったコマンドライン引数の一つ目を、スクリプトとしている
そして更に残ったものがファイル名
文字列の内容では区別していないね
-e や -f でスクリプトを明示的に指定していない場合は
オプション(とその引数)をすべて取り除いた後に残ったコマンドライン引数の一つ目を、スクリプトとしている
そして更に残ったものがファイル名
2019/01/18(金) 17:38:55.47ID:M2RpfDa4
Perl の場合はスクリプトファイル名だね。
どちらも、コマンドラインを簡略化できる良い仕様だ。
個人的にはスクリプトなのかスクリプトファイル名なのか
分からなくなるおマヌケさんだという自覚があるから
必ず -e か -f を使うけどね。
どちらも、コマンドラインを簡略化できる良い仕様だ。
個人的にはスクリプトなのかスクリプトファイル名なのか
分からなくなるおマヌケさんだという自覚があるから
必ず -e か -f を使うけどね。
2019/01/19(土) 02:48:39.27ID:qzxnGu5m
>>555
531です。有難うございます。シェルを書く時に違いに気をつけます
531です。有難うございます。シェルを書く時に違いに気をつけます
2019/01/19(土) 06:12:36.41ID:V9cpksa1
>>633
Debian系で#!/bin/shのシェルスクリプトを書くと動作不良起こすかも
Debian系のshはbashじゃなくてdashだからさ
dashはDebian版ashで、ashはBSD版の軽量Bourne Shell
shってことは当然bash特有の機能は使えない
汎用的にしたのが裏目に出る悲しみ
Debian系で#!/bin/shのシェルスクリプトを書くと動作不良起こすかも
Debian系のshはbashじゃなくてdashだからさ
dashはDebian版ashで、ashはBSD版の軽量Bourne Shell
shってことは当然bash特有の機能は使えない
汎用的にしたのが裏目に出る悲しみ
2019/01/19(土) 09:02:09.43ID:iwdID4Ao
片面2層のDVDvideoをBraseroでリッピングしたisoファイルはVLCプレーヤでできます。
このisoファイルをk9copy3.03で4.6GBほどのisoファイルに圧縮したのですがVLCプレーヤで再生できません
DVDーRに焼いてみてもVLCプレーヤで再生できません
このisoファイルをディスクイメージマウンターでマウントするとTSファイルがつくれており、これらは動画プレーヤで再生できます。
どうしたら圧縮したisoファイルを未圧縮のisoファイルのようにVLCプレーヤで再生できますか?
このisoファイルをk9copy3.03で4.6GBほどのisoファイルに圧縮したのですがVLCプレーヤで再生できません
DVDーRに焼いてみてもVLCプレーヤで再生できません
このisoファイルをディスクイメージマウンターでマウントするとTSファイルがつくれており、これらは動画プレーヤで再生できます。
どうしたら圧縮したisoファイルを未圧縮のisoファイルのようにVLCプレーヤで再生できますか?
2019/01/19(土) 09:02:51.53ID:iwdID4Ao
こん
2019/01/19(土) 12:31:04.21ID:DAhbZ1ec
2019/01/19(土) 16:06:34.10ID:iwdID4Ao
>>637
起動済みのVLCプレーヤに圧縮したisoファイルをドラッグアンドドロップするとVLCプレーヤが即落ちします。VLCプレーヤ再起動の後、メッセージログを確認するとエラー、警告、デバッグともに空欄のようです
起動済みのVLCプレーヤに圧縮したisoファイルをドラッグアンドドロップするとVLCプレーヤが即落ちします。VLCプレーヤ再起動の後、メッセージログを確認するとエラー、警告、デバッグともに空欄のようです
2019/01/19(土) 16:08:35.15ID:XZ+Kq5lZ
メモリ足りてないんじゃね
イベントビューアも見なよ
イベントビューアも見なよ
2019/01/19(土) 16:18:16.52ID:ksjbcqqB
ファイルサイズのより大きい未圧縮のisoファイルは再生できてます
2019/01/19(土) 16:21:24.06ID:ksjbcqqB
なので、k9copyによって出来上がった圧縮済みisoファイルに問題がありそうです
2019/01/19(土) 16:33:46.78ID:VZ1PwJZ9
2019/01/19(土) 16:57:30.01ID:ksjbcqqB
>>642
未圧縮のisoファイルはVLCプレーヤで再生できますが、K9COPYで圧縮したisoファイルを再生しようとするとVLCプレーヤが即落ちします
圧縮したisoファイルをディスクイメージマウンターでマウントするとDVDvideoのTSフォルダが現れて、その中にあるVOBファイルを動画プレーヤで再生できます
なので、圧縮したisoファイルには動画が格納されているのですが、なにか不完全isoファイルになってしまっているようです
未圧縮のisoファイルはVLCプレーヤで再生できますが、K9COPYで圧縮したisoファイルを再生しようとするとVLCプレーヤが即落ちします
圧縮したisoファイルをディスクイメージマウンターでマウントするとDVDvideoのTSフォルダが現れて、その中にあるVOBファイルを動画プレーヤで再生できます
なので、圧縮したisoファイルには動画が格納されているのですが、なにか不完全isoファイルになってしまっているようです
2019/01/19(土) 17:07:01.27ID:nLehc7cF
2019/01/19(土) 17:15:24.08ID:ksjbcqqB
>>644
Ubuntu18.04に最初からインストールされているやつで動画プレーヤーという名前のアイコンです
Ubuntu18.04に最初からインストールされているやつで動画プレーヤーという名前のアイコンです
2019/01/19(土) 19:43:26.30ID:nLehc7cF
なるほど
VLCのせいだろうね
VLCのせいだろうね
2019/01/19(土) 23:07:51.12ID:DAhbZ1ec
VOBファイルがVLCで再生できるかは試した?
648login:Penguin
2019/01/19(土) 23:08:49.25ID:Hc115XNV age
2019/01/19(土) 23:53:43.04ID:ksjbcqqB
>>647
VLCプレーヤーでもvobファイルは再生できました
VLCプレーヤーでもvobファイルは再生できました
2019/01/20(日) 00:39:24.74ID:V4WHCdZ9
$ echo foo > foo.txt
$ sed -i -e 's/foo/bar/;w /dev/stdout' foo.txt
bar
sedと言えば上書き時にも処理内容を表示できないか探したらこんなのあった
verboseオプションがないなりに工夫してるんだな
$ sed -i -e 's/foo/bar/;w /dev/stdout' foo.txt
bar
sedと言えば上書き時にも処理内容を表示できないか探したらこんなのあった
verboseオプションがないなりに工夫してるんだな
2019/01/20(日) 00:45:07.41ID:VB5lzzaq
コンテンツはアニメであり、DVD-RにDVDVideo形式で焼いた圧縮isoを家庭用BDプレーヤで再生してみると、各話のオープニング後の冒頭10秒再生し、その話のエンディング10秒再生して次話へ移るみたいな感じです
いずれも無音
やはりK9COPYでつくった圧縮isoファイルに問題がありそうです
問題ある圧縮iso内のVOBファイルを動画プレーヤなどで再生すると音声もあります
いずれも無音
やはりK9COPYでつくった圧縮isoファイルに問題がありそうです
問題ある圧縮iso内のVOBファイルを動画プレーヤなどで再生すると音声もあります
2019/01/20(日) 01:29:30.40ID:QuvgMHqY
isoに拘る必要ある?
各話分けてエンコすりゃいいんじゃないの
各話分けてエンコすりゃいいんじゃないの
653login:Penguin
2019/01/20(日) 08:49:57.45ID:uzBT4huD2019/01/20(日) 09:49:23.04ID:2wWk4vWS
「萌え時計」のソースはどこ?
code.googleはデッドリンクなのだが。
ttps://code.google.com/archive/p/moeclock/
code.googleはデッドリンクなのだが。
ttps://code.google.com/archive/p/moeclock/
655login:Penguin
2019/01/20(日) 13:01:02.33ID:+AGj7ivC656login:Penguin
2019/01/20(日) 14:16:32.50ID:uzBT4huD sedってyとか一部のコッマンドの仕様がedと違うんだよな
2019/01/20(日) 16:15:37.51ID:/yMbetE6
プログラム中でzipファイルのエンコードをunzipする前にsjisかutf8見分ける方法ないですか?
unzip -lぐらいは可とします。
SJIS文字コードは8140〜989Eにあることぐらいしか判定条件ないですか?
ttp://ash.jp/code/unitbl21.htm
UTF8文字コードは範囲がよくわからない。
unzip -lぐらいは可とします。
SJIS文字コードは8140〜989Eにあることぐらいしか判定条件ないですか?
ttp://ash.jp/code/unitbl21.htm
UTF8文字コードは範囲がよくわからない。
2019/01/20(日) 16:17:02.58ID:/yMbetE6
訂正
プログラム中でzipファイルをunzipする前にエンコードをsjisかutf8か見分ける方法ないですか?
プログラム中でzipファイルをunzipする前にエンコードをsjisかutf8か見分ける方法ないですか?
2019/01/20(日) 16:33:40.44ID:JthwJpkc
660login:Penguin
2019/01/20(日) 16:42:21.40ID:+AGj7ivC >>657
nkf --guess に食わせる、と
nkf --guess に食わせる、と
2019/01/20(日) 16:42:48.51ID:+AGj7ivC
か
2019/01/20(日) 17:48:13.20ID:BLHzymen
Linuxでzipファイルの中身を展開せずに見るにはlessがおすすめ
http://totech.hateblo.jp/entry/2015/03/04/093757
他にも、unzip -Z(zipinfo)で展開せずに見る
http://totech.hateblo.jp/entry/2015/03/04/093757
他にも、unzip -Z(zipinfo)で展開せずに見る
2019/01/20(日) 17:57:44.10ID:/yMbetE6
2019/01/20(日) 18:53:47.19ID:StfS4TwF
判定したいのが、ファイル名の文字コードなのか、ファイル内容なのかがわからないけど。
ファイル名だったら、
zipinfo -2 file.zip
で中身のファイル名がわかるから、それを判定するとか?
元のファイル名が上記コマンドで得られるかわからないけど。
ファイル内容であれば見るために一旦zipを展開しないと見れないので、
テンポラリディレクトリに展開してfileコマンドでみるとか、nkf -gで見るとかかな。
ファイル名だったら、
zipinfo -2 file.zip
で中身のファイル名がわかるから、それを判定するとか?
元のファイル名が上記コマンドで得られるかわからないけど。
ファイル内容であれば見るために一旦zipを展開しないと見れないので、
テンポラリディレクトリに展開してfileコマンドでみるとか、nkf -gで見るとかかな。
2019/01/20(日) 18:54:53.25ID:StfS4TwF
× 元のファイル名が上記コマンドで得られるかわからないけど。
〇 元のファイル名が同じ文字コードのままで上記コマンドで得られるかわからないけど。
〇 元のファイル名が同じ文字コードのままで上記コマンドで得られるかわからないけど。
2019/01/20(日) 19:01:55.20ID:9huZKjxS
xfce環境なら照度のなんたらとか電源管理で設定できますよって遅いか
メニュー>設定>電源管理
メニュー>設定>電源管理
2019/01/20(日) 20:19:26.87ID:/yMbetE6
2019/01/20(日) 21:03:18.76ID:crQChqfZ
完全な自動判定は原理的に無理だから目視はした方がいいと思うよ。
sjis か utf-8 のどちらかということなら、両方に当てはまる場合だけ目視すればいい。
sjis か utf-8 のどちらかということなら、両方に当てはまる場合だけ目視すればいい。
2019/01/21(月) 01:41:04.14ID:/tUY9Umq
以下のように「10個のコマンドをバックグランドで並列に実行」というのを2回やりたいのですが
★の部分で全バックグランドプロセスが完了するのを待つ、という処理を行うことはできますか?
for i in {1..10} ;do
コマンド $i &
done
★
for i in {11..20} ;do
コマンド $i &
done
★の部分で全バックグランドプロセスが完了するのを待つ、という処理を行うことはできますか?
for i in {1..10} ;do
コマンド $i &
done
★
for i in {11..20} ;do
コマンド $i &
done
2019/01/21(月) 02:07:16.67ID:CGeZt1NA
2019/01/21(月) 02:16:54.29ID:uL4RNj2H
>>669
waitかな
waitかな
2019/01/21(月) 04:58:41.63ID:/tUY9Umq
2019/01/21(月) 05:24:34.06ID:sPg/AhMD
何かのパッケージと重なってlibiconvのインストール、アンインストールを繰り返した場合、
システムが不安定になることが多い。
libiconvのconfigureのオプションが検討不足か、後から入れたパッケージの検討不足かも
しれないが、安定のためにlibiconvで出来ることない?
極力OS付きのを使う以外で教えてください。
なんか経験を聞く質問になってしまって申し訳ない。
システムが不安定になることが多い。
libiconvのconfigureのオプションが検討不足か、後から入れたパッケージの検討不足かも
しれないが、安定のためにlibiconvで出来ることない?
極力OS付きのを使う以外で教えてください。
なんか経験を聞く質問になってしまって申し訳ない。
2019/01/21(月) 06:06:51.42ID:QIPHr3uf
2019/01/21(月) 06:16:18.39ID:sPg/AhMD
>>674
あー、prefix先か。ありがとう。
後から入れるソフトのconfigureかmakefileでlibiconvを指定できるタイプなら出来そうですね。
makefileは自分でいじったことがないので、ググってサンプルがないと出来ないが。
調べてみる。
あー、prefix先か。ありがとう。
後から入れるソフトのconfigureかmakefileでlibiconvを指定できるタイプなら出来そうですね。
makefileは自分でいじったことがないので、ググってサンプルがないと出来ないが。
調べてみる。
2019/01/21(月) 06:26:17.54ID:sPg/AhMD
/usr/local/binじゃなくて~/libiconv115にインスト。
後から入れるソフトのconfigureかmakefileでlibiconvを指定。
unzipのmakefile書き換えだと以下でOK?
LFLAGS1 = -L~/libiconv115/lib -liconv
$(MAKE) unzips CFLAGS="-O3 -Wall -DBSD -I~/libiconv115/include -DNATIVE" LF2=""
後から入れるソフトのconfigureかmakefileでlibiconvを指定。
unzipのmakefile書き換えだと以下でOK?
LFLAGS1 = -L~/libiconv115/lib -liconv
$(MAKE) unzips CFLAGS="-O3 -Wall -DBSD -I~/libiconv115/include -DNATIVE" LF2=""
2019/01/21(月) 08:15:25.57ID:18jhGB2f
Linuxのlibiconfなら./configure --prefix=
で指定したほうが安全だよ。
Makefileを直接書き換えると漏れがあったり不必要なところまで書き換えちゃうかもしれんから。
で指定したほうが安全だよ。
Makefileを直接書き換えると漏れがあったり不必要なところまで書き換えちゃうかもしれんから。
2019/01/21(月) 10:35:08.16ID:WDTx4rfL
makeしたコマンドを/usr/local/bin/以下のprogramフォルダで管理するコマンドがあったような
/usr/local/bin/へのsymlinkも作る優れもの
/usr/local/bin/へのsymlinkも作る優れもの
2019/01/21(月) 12:22:05.79ID:18jhGB2f
>>678
porgでしょ。
porgでしょ。
2019/01/21(月) 18:55:53.86ID:WDTx4rfL
>>679
xtowなんてのもあった
xtowなんてのもあった
2019/01/21(月) 19:25:26.72ID:g+48vhcB
これからはユーザーディレクトリ以下に
インストールするのが普通になるけどな
インストールするのが普通になるけどな
682login:Penguin
2019/01/21(月) 20:22:10.09ID:sC7pmdbL age
2019/01/21(月) 22:05:18.12ID:puxoYEQr
>>660
に、nkf --guess に食わせる、って書いてある
iconv は、最近は聞かない。
Ruby でも、NKF を使う
require 'nkf'
enc = NKF.guess( "文字列" )
puts enc.name #=> UTF-8
に、nkf --guess に食わせる、って書いてある
iconv は、最近は聞かない。
Ruby でも、NKF を使う
require 'nkf'
enc = NKF.guess( "文字列" )
puts enc.name #=> UTF-8
2019/01/21(月) 23:04:23.32ID:g+48vhcB
こんぐらいお前らでもできると思って放置してたけどさ、
お前らzipのファイル名がsjisかutf8かも見分けられんのか
nkf使おうがiconv使おうが正しく判定できるわけねーだろ
zipのファイルフォーマット見てみろ
https://gist.github.com/ysakasin/2edf8d3bf55c6ebf63f82851e302b030
ファイルの7バイト目からの2バイト、general purpose bit flagの
12bit目(Bit: 11)を見るだけでUTF-8かどうか分かるだろ
(UTF-8でない場合、それがsjisなのか他のなにかであるかを正確に区別することはできない)
zipinfoで見れるんじゃないかとも思ったけど、よくわからんかったが
UTF-8かどうかの判定はこの1ビットを見るだけだ
その1ビットの判定をどうやるのかはシェルスクリプトだと
面倒くさそうではあるけどな。(適当な言語なら簡単だろう)
お前らzipのファイル名がsjisかutf8かも見分けられんのか
nkf使おうがiconv使おうが正しく判定できるわけねーだろ
zipのファイルフォーマット見てみろ
https://gist.github.com/ysakasin/2edf8d3bf55c6ebf63f82851e302b030
ファイルの7バイト目からの2バイト、general purpose bit flagの
12bit目(Bit: 11)を見るだけでUTF-8かどうか分かるだろ
(UTF-8でない場合、それがsjisなのか他のなにかであるかを正確に区別することはできない)
zipinfoで見れるんじゃないかとも思ったけど、よくわからんかったが
UTF-8かどうかの判定はこの1ビットを見るだけだ
その1ビットの判定をどうやるのかはシェルスクリプトだと
面倒くさそうではあるけどな。(適当な言語なら簡単だろう)
2019/01/21(月) 23:13:29.49ID:w4p0Csc0
おつかれ
686683
2019/01/21(月) 23:35:06.60ID:puxoYEQr パイプ渡しから、Ruby の1-liner で、nkf ライブラリを使った例
echo "あ" | ruby -r nkf -ne 'puts NKF.guess($_)'
#=> UTF-8
echo "あ" | ruby -r nkf -ne 'puts NKF.guess($_)'
#=> UTF-8
687683
2019/01/21(月) 23:47:34.03ID:puxoYEQr Ruby の1-liner を使って、これでやってみれば?
-1 : ファイル名の一覧のみを表示する
zipinfo -1 exmaple.zip | ruby -r nkf -ne 'puts NKF.guess($_)'
-1 : ファイル名の一覧のみを表示する
zipinfo -1 exmaple.zip | ruby -r nkf -ne 'puts NKF.guess($_)'
2019/01/21(月) 23:59:50.01ID:g+48vhcB
ただ厳密に言えば、UTF-8とSJISのファイル名は
ごちゃまぜに入れることはできる
ごちゃまぜに入れることはできる
2019/01/22(火) 00:22:46.60ID:Zb4X1bux
stdbuf のマニュアルにある
% tail -f access.log | stdbuf -oL cut -d ' ' -f1 | uniq
がうまく動きません (cut でバッファリングされる)。FreeBSD なら OK。
これなんででしょうか。ソース見る限りでは、普通に stdio を使って
出力しているだけに見えるんですが。
CentOS 6.8 です。
% cut --version
cut (GNU coreutils) 8.4
簡単に再現できそうなのはこちら。
% (for i in `seq 1 1000`; do date;sleep 0.01;done) | stdbuf -oL cut -d ' ' -f6 |cat -n
% tail -f access.log | stdbuf -oL cut -d ' ' -f1 | uniq
がうまく動きません (cut でバッファリングされる)。FreeBSD なら OK。
これなんででしょうか。ソース見る限りでは、普通に stdio を使って
出力しているだけに見えるんですが。
CentOS 6.8 です。
% cut --version
cut (GNU coreutils) 8.4
簡単に再現できそうなのはこちら。
% (for i in `seq 1 1000`; do date;sleep 0.01;done) | stdbuf -oL cut -d ' ' -f6 |cat -n
690689
2019/01/22(火) 00:40:30.95ID:Zb4X1bux Debian9 でも動きました (GCP の CloudShell にて)。
バッファリングしていると思われる CentOS の詳細情報です。
% which cut
/bin/cut
% ldd /bin/cut
linux-vdso.so.1 => (0x00007ffde2d37000)
libc.so.6 => /lib64/libc.so.6 (0x00000039f6000000)
/lib64/ld-linux-x86-64.so.2 (0x00000039f5c00000)
バッファリングしていると思われる CentOS の詳細情報です。
% which cut
/bin/cut
% ldd /bin/cut
linux-vdso.so.1 => (0x00007ffde2d37000)
libc.so.6 => /lib64/libc.so.6 (0x00000039f6000000)
/lib64/ld-linux-x86-64.so.2 (0x00000039f5c00000)
691login:Penguin
2019/01/22(火) 09:29:02.66ID:Xrnw4KcI >>688
ASCII文字の範囲内だけなら区別できないよな
ASCII文字の範囲内だけなら区別できないよな
2019/01/22(火) 10:35:21.77ID:kJGwNnOR
>>691
ASCII文字以外の範囲でも文字によっては区別できない
話は変わるけど、
Unicodeの時代になったしいまさら作ってもしょうがないだろうけど
文字コード判定で単語になってるかどうかで判定すれば
短い文字でもより精度が上がるんじゃないかって思ってる
例えば「a?‡a-?a??a?‘」とか「譁?ュ怜喧縺?」という文字化けした文字列に
出てくる単語は、世の中(例えばwikipedia)であまり使われてないが、
「文字化け」という文字列であれば登場頻度は高いからこれだろうと予測できる
単語って書いたけど各言語ごとに文字のバイト列をデータ化して
そのバイト列がより多く登場する言語はなにか?で判断すれば
分かち書きとかの言語固有の処理も必要なく汎用的に使えると思う
ASCII文字以外の範囲でも文字によっては区別できない
話は変わるけど、
Unicodeの時代になったしいまさら作ってもしょうがないだろうけど
文字コード判定で単語になってるかどうかで判定すれば
短い文字でもより精度が上がるんじゃないかって思ってる
例えば「a?‡a-?a??a?‘」とか「譁?ュ怜喧縺?」という文字化けした文字列に
出てくる単語は、世の中(例えばwikipedia)であまり使われてないが、
「文字化け」という文字列であれば登場頻度は高いからこれだろうと予測できる
単語って書いたけど各言語ごとに文字のバイト列をデータ化して
そのバイト列がより多く登場する言語はなにか?で判断すれば
分かち書きとかの言語固有の処理も必要なく汎用的に使えると思う
2019/01/22(火) 11:27:54.32ID:4yTPROXM
文字化けを回避した解凍って事実上unar一択なのかしら
2019/01/22(火) 12:18:03.77ID:F4cDMotN
俺も解凍は全部unar
2019/01/22(火) 16:34:08.75ID:6yQyDJCa
パス付きのはPeaZip
2019/01/22(火) 17:29:43.06ID:VeBD1zE7
unarが便利すぎて正直7zあたりのコマンドライン操作忘れてるわw
■ このスレッドは過去ログ倉庫に格納されています