くだらねえ質問はここに書き込め! Part 234
■ このスレッドは過去ログ倉庫に格納されています
まずは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/ gpartedでHDDをコピーしてそのHDDから起動するということは出来ないって事?
インストしたHDDの中身をgparted使って複製して複製したやつを起動したいという簡単な話なんだど。 出来るけど必要な情報を提供しない&人の話聞かない奴には無理 >>526
https://serverfault.com/questions/167416/how-can-i-automatically-change-directory-on-ssh-login
>>555
#!/bin/bash
でスクリプト書いたとき、
sh script.sh で実行したときと bash script.sh って実行したときで
挙動が違ったことがあった。
一行目のシェルで実行してくれるわけじゃないんだな。 >>565
>>241で最終的に仮想環境にしたいっていうことなら、
もう仮想環境にいれて仮想ではMBRで使っちゃえば? win10上VMWare上のubuntu16.04上で作業しています
SDカードの移行のため、ソースとなるSDからRawイメージをPCへ圧縮して読み出しました
sudo sh -c "dd if=/dev/sdb | gzip -c > SourceSD.img.gz"
SDカードを差し替えた後、新SDへの書き込みは以下でうまくできました
gzip -c SourceSD.img.gz | dd of=/dev/sdc
移行先のデバイスでは問題なく動作しています
この後なんですが、imgファイルの中身をちょっと覗きたくなって、Rawイメージの中から
特定のパーティションをマウントしようと考えました。
そこでまずはSourceSD.img.gzを展開しようと
gzip -dc SourceSD.img.gz | dd of=SourceSD.img
としましたが、SourceSD.imgのサイズはSourceSD.img.gzと同じになり
fdisk -l SourceSD.img
としても、パーティションの状態が確認できません
要するに展開出来ていないということなのでしょうが、これはいったいなぜなのでしょうか
うまく展開して、PC上でマウントできる状態にしたいので、アドバイスお願いします >>569
shやbashにとってはシェバンはただのコメントだからね
スクリプトに+xして直接実行したときだけexecveが特別にその一行目を解釈するから意味を持つ
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/execve.2.html あら
gunzip -dc < SourceSD.img.gz | dd of=SourceSD.img
以下でいけましたぁ
質問は取り下げます たくさんテキストファイルがあり、
それぞれのファイルの行の配列はこんな感じです(フォーマットは定型です)
data1
hoge=2352
fuga=345
data2
hoge=4634
fuga=35767
最終的に、
data1=345
data2=35767
というような抽出したいのですが、何かよい方法はありませんでしょうか。
やりたいことは、条件で引っ掛けた行の○行下を抜いてくるというものです。
上データの場合、data1の2行下を抜く。data2の2行下を抜く。という方法があればお教えください。 awk -F'=' 'NR%3 == 1 {x=$1} NR%3 == 0 {print x"="$2}' hoge.txt ありがとうございます。
しかしながら、肝要なことを書き忘れました。
申し訳ありません。
以下の行は、テキストファイル行の途中にあります
;(中略)
data1
hoge=2352
fuga=345
data2
hoge=4634
fuga=35767
;(中略)
なので、data1の2行下、data2の2行下というように、
特定文字列のn行下という風に指定したいのです。 egrep -A2 ‘data1|data2’ | egrep -v -- ‘--‘ | >>576 PanasonicのLet's NoteにDebian GNU/Linuxを入れています。
Xfce4デスクトップ環境において、電源ケーブルを差し込んで充電モードに切り替えると
画面の輝度が最低になり、更にキーボード操作も受け付けなくなります。
輝度調整キーを押すと再びキーボードなどが操作できるようになりますが、
電源ケーブルを接続する度に↑こういうことをするのは少し手間ですし、
何より原因不明で気持ち悪いです。
そこで原因を突き止めてできれば解決もしたいのですが、
ラップトップパソコンでの電源管理に関するトラブルでは
どういったログを見ればよいでしょうか。ご教示ねがいます。
(例えばapt関連の事象なら/var/log/apt以下のファイルを調べればよい、
というような具合にどこそこのログファイルに電源管理のログが記録されている
みたいなことが知りたいです) >>578
>>577をもとに
sed "/^data[0-9]\{1,\}$/!d; $(yes 'N;' | head -n 2) s/\n.*=/=/;" >>580
よくわからんけどTLPでも入れてみたら >>578
そこに書いてある分だけでいいなら
sed -e '/^data[12]$/{N;N;s/\n.*=/=/;}'
で済むかもしれないが誤認識の心配はしなくていいの?
そこに書いてある分だけじゃないなら、おおざっぱに考えても
a) 処理対象となる各レコードの先頭行を認識して処理する。
b) 1個以上のレコードから成るブロックを処理する。
というパターンがあると思うんだが。>>577 は b で書いた。 sedって単純な正規表現は使えるようになったけど>>577みたいなのは訳わからん
もっと覚えんとなぁ >>569
sh script.sh, bash script.sh などでは、シェバンは使われない
シェバンが使われるのは、
./script.sh
のような、ファイル名自体がコマンドになる場合に、
カーネルがシェバンを読んで、どのシェル・アプリで実行するか決める
(script.sh には、実行権限も付ける必要がある)
シェバンにはシェル以外にも、ruby, python なども指定できる Ruby で作った
re = /^data/ # 正規表現
result = [ ]
# 末尾の改行を削除して、配列に読み込む
input_ary = File.readlines( "input.txt", chomp: true )
input_ary.each_with_index do | line, index | # 1行ずつ処理する
if line.match re # マッチした時
str = input_ary[ index + 2 ] # 2行下
if pos = str.index( "=" ) # = が有れば、それ以降を取り出す
result.push line + "=" + str[ pos + 1 .. -1 ]
end
end
end
puts result ubuntu16.04LTS 64bitにキャノンのプリンタドライバをインストールしたいのですが
パッケージの拡張子がrpm
なので、alienコマンドを使ってインストールしようとしましたがエラーに・・・
sudo alien bjfilterpixus860i-2.4-0.i386.rpm
bjfilterpixus860i-2.4-0.i386.rpm is for architecture i386 ; the package cannot be built on this system
回避する方法ありませんかね?
ちなみに64bit版のドライバはアップされていませんでした。 >>592
レスの意図が読み取れんのやが
どう呼ばれるかまで追ってないけど多分execve関連のコードやろな >>592
systemcallなら解るわ
シェバンを使う使わないもあるだろうし特権必要かもな https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%90%E3%83%B3_(Unix)
>ファイル先頭のシバンを認識するのは、OSの execve システムコール(exec を参照)を処理するルーチン中のプログラムローダーである。
普通に書いてある >>573 >>586
ありがとう。
今まで実行権限つけて実行していたけど、どう動くか知らなかったので勉強になります。 シェバンはカーネルが実行するんやで
勉強になりました。w ┌┴┐┌┴┐┌┴┐ -┼-  ̄Tフ ̄Tフ __ / /
_ノ _ノ _ノ ヽ/| ノ ノ 。。
/\___/ヽ
/ノヽ ヽ、
/ ⌒''ヽ,,,)ii(,,,r'''''' :::ヘ
| ン(○),ン <、(○)<::| |`ヽ、
| `⌒,,ノ(、_, )ヽ⌒´ ::l |::::ヽl
. ヽ ヽ il´トェェェイ`li r ;/ .|:::::i |
/ヽ !l |,r-r-| l! /ヽ |:::::l |
/ |^|ヽ、 `ニニ´一/|^|`,r-|:「 ̄
/ | .| | .| ,U(ニ 、)ヽ
/ | .| | .|人(_(ニ、ノノ] この流れなら聞ける気がする!!
ld-linux-x86-64.so.2とかはなんでreadelfで見るとDYN(Shared object file)でしかもプログラムヘッダにはPT_INTERPもないのに実行できるの? OS起動してないPCからハードディスクのデータって抜き出せるの? >>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起動ディスクからファイルを救出することとなる。 >>600
.so, .dll などの共有動的リンクライブラリを読み込むには、たぶん、読み込む専門の関数がある
ルール通りに、作ればよいだけ Ubuntuのタスクマネージャを見ていて思ったのですが
Windows (7, 10)と比べてメモリは多く消費しているのにディスク使用率がかなり少ないですよね
もしかしたら僕の環境のせいかもしれないのですが
Linuxが(メモリを消費する割に)軽いのはディスクアクセスが少ないからなんですかね。 >>585
全く同じこと思ってますw
シャドウなんたらとかあの辺の仕組みを理解しないといけないんだろうけど
そのうち分かるだろうと思ってるうちに15年経ってしまった
ガッツリman見るしかないのかな >>604
最近のsystemdはRAMに余裕があれば/tmpをRAMに置いたりするよね
Windowsは特別に設定してない限り一時フォルダをCドライブに置いたような >>606
>そのうち分かるだろうと思ってるうちに15年経ってしまった
俺もなんだけど低脳は長い間やっていても、脳レベルが低い、
脳レベルの低さを補うために必死に努力しないといけないのにろくに努力しないもんだから
低レベルで進化がストップだからな。
一方、高脳は15年もやっているとマスターレベルに進化しているんだろうが >>606
とりあえずこの「パスワードファイルとシャドウパスワードファイルについて」節くらいのことわかっとけば十分じゃね
https://blog.amedama.jp/entry/linux-shadow-passwd CentOSで、wgetの画像版みたいなのありませんでしょうか。
URL指定して、その先のキャプチャをとってくれるようなコマンドです
urltopng http;//www.hoge.com -o /tmp/hoge.png
↑こんな感じで簡単に指定できるとものすごく助かります 画像版ってなんだよ
HTMLをなんだと思ってるんだ 結局はhtmlやらcssやらダウンロードしてきてレンダリングするしか方法無いからな
chromiumやfirefoxをヘッドレスで動かしたらできるやろ >>616
ありがとうございます。
ヘッドレス(ブラウザ?)って言葉がヒントになって
該当する情報を見つけられました。
いろいろ調べなきゃいけないようですが
なんとかできそうです
ありがとうございます。 Mozilla Firefoxには少し前まで「--screenshot」っていうそのものズバリのオプションがあったんだけど
どういう訳が削除されちゃったみたい。公式ドキュメントからも消えてるし。
ただWebページを画像として保存するっていうのは
一聞すると荒唐無稽に思えるかもしれないけど
ブラウザ間の互換性とかを調べるのに手っ取り早くて確実だったりするんだよね。 $ 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は後ろじゃないとダメとか何このトラップ ていうかいい加減
-longopt←こういう記法廃れてほしい。
特にJava関係のアプリに多く見受けられる印象があるけど
--longopt←こういう形式のほうが標準入力(-)オプション終了(--)とかのパースがしやすいし
(慣れの問題でもあるものの)「自然」。
と、いうか-longoptでもいいからどっちかにしてくれ……! >>620
$cat foo.txt
123abc
$sed -ei 's/[0-9]*//' foo.txt
sed: -e expression #1, char 1: \ が `a'、`c'、`i' の後に予期されます
$ # まあ、当たり前だね。 >>614
wget は、クローラーだろ
何階層まで再帰するかとか、
ダウンロードするファイルの拡張子も指定できる
Ruby のクローラーの本でも、最初は、wget で作る。
その後、同じものをRuby, Selenium WebDriver, Nokogiri で、スクレイピングする >>620
そりゃ、-i は無引数のスイッチじゃない!
引数が必要なオプションだから、引数は、-i の直後に書かないといけない
オプションには無引数のものと、引数を取るものがある。
すべてのコマンドで、そのルール
Ruby でコマンドラインオプションを処理する、ARGV.options, OptionParser でも見れば? >>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不便じゃないの? GNU版が便利なんだよ。
macOSを含めBSD版はやるきねーから $ 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の直後にオプション並べても接尾辞扱いされるようだし >>627
>sed -i 's/123//' foo.txt
むしろこれで、引数の区別が出来たのに、驚いた!
最後に、/ が付くかどうかで、
置換指定の文字列と、ファイル名は区別が付くのか? >>630
文字列の内容では区別していないね
-e や -f でスクリプトを明示的に指定していない場合は
オプション(とその引数)をすべて取り除いた後に残ったコマンドライン引数の一つ目を、スクリプトとしている
そして更に残ったものがファイル名 Perl の場合はスクリプトファイル名だね。
どちらも、コマンドラインを簡略化できる良い仕様だ。
個人的にはスクリプトなのかスクリプトファイル名なのか
分からなくなるおマヌケさんだという自覚があるから
必ず -e か -f を使うけどね。 >>555
531です。有難うございます。シェルを書く時に違いに気をつけます >>633
Debian系で#!/bin/shのシェルスクリプトを書くと動作不良起こすかも
Debian系のshはbashじゃなくてdashだからさ
dashはDebian版ashで、ashはBSD版の軽量Bourne Shell
shってことは当然bash特有の機能は使えない
汎用的にしたのが裏目に出る悲しみ 片面2層のDVDvideoをBraseroでリッピングしたisoファイルはVLCプレーヤでできます。
このisoファイルをk9copy3.03で4.6GBほどのisoファイルに圧縮したのですがVLCプレーヤで再生できません
DVDーRに焼いてみてもVLCプレーヤで再生できません
このisoファイルをディスクイメージマウンターでマウントするとTSファイルがつくれており、これらは動画プレーヤで再生できます。
どうしたら圧縮したisoファイルを未圧縮のisoファイルのようにVLCプレーヤで再生できますか? >>635
WindowsのVLCしか使ったことないけど。
ツールからエラーメッセージがだせるだろ、たぶん。
そのログを見たら何かわからないかな >>637
起動済みのVLCプレーヤに圧縮したisoファイルをドラッグアンドドロップするとVLCプレーヤが即落ちします。VLCプレーヤ再起動の後、メッセージログを確認するとエラー、警告、デバッグともに空欄のようです メモリ足りてないんじゃね
イベントビューアも見なよ ファイルサイズのより大きい未圧縮のisoファイルは再生できてます なので、k9copyによって出来上がった圧縮済みisoファイルに問題がありそうです >>641
動画プレーヤでは再生できるのにVLCでは再生できないって
単にVLCがその圧縮ファイル形式をサポートしていないだけじゃないのか? >>642
未圧縮のisoファイルはVLCプレーヤで再生できますが、K9COPYで圧縮したisoファイルを再生しようとするとVLCプレーヤが即落ちします
圧縮したisoファイルをディスクイメージマウンターでマウントするとDVDvideoのTSフォルダが現れて、その中にあるVOBファイルを動画プレーヤで再生できます
なので、圧縮したisoファイルには動画が格納されているのですが、なにか不完全isoファイルになってしまっているようです >>635
> このisoファイルをディスクイメージマウンターでマウントするとTSファイルがつくれており、これらは動画プレーヤで再生できます。
ちなみにその動画プレイヤーの名前は? >>644
Ubuntu18.04に最初からインストールされているやつで動画プレーヤーという名前のアイコンです >>647
VLCプレーヤーでもvobファイルは再生できました $ echo foo > foo.txt
$ sed -i -e 's/foo/bar/;w /dev/stdout' foo.txt
bar
sedと言えば上書き時にも処理内容を表示できないか探したらこんなのあった
verboseオプションがないなりに工夫してるんだな コンテンツはアニメであり、DVD-RにDVDVideo形式で焼いた圧縮isoを家庭用BDプレーヤで再生してみると、各話のオープニング後の冒頭10秒再生し、その話のエンディング10秒再生して次話へ移るみたいな感じです
いずれも無音
やはりK9COPYでつくった圧縮isoファイルに問題がありそうです
問題ある圧縮iso内のVOBファイルを動画プレーヤなどで再生すると音声もあります isoに拘る必要ある?
各話分けてエンコすりゃいいんじゃないの 「萌え時計」のソースはどこ?
code.googleはデッドリンクなのだが。
ttps://code.google.com/archive/p/moeclock/ sedってyとか一部のコッマンドの仕様がedと違うんだよな プログラム中でzipファイルのエンコードをunzipする前にsjisかutf8見分ける方法ないですか?
unzip -lぐらいは可とします。
SJIS文字コードは8140〜989Eにあることぐらいしか判定条件ないですか?
ttp://ash.jp/code/unitbl21.htm
UTF8文字コードは範囲がよくわからない。 訂正
プログラム中でzipファイルをunzipする前にエンコードをsjisかutf8か見分ける方法ないですか? >>658
>プログラム中で
これは何を意味しているんだ?
zipファイルをunzipする前にエンコードをsjisかutf8か見分ける方法ないですか?
ではダメなのか? >>657
nkf --guess に食わせる、と Linuxでzipファイルの中身を展開せずに見るにはlessがおすすめ
http://totech.hateblo.jp/entry/2015/03/04/093757
他にも、unzip -Z(zipinfo)で展開せずに見る >>659
>>プログラム中で
>これは何を意味しているんだ?
zipinfoかunzip -lの結果を目視したくない
数多くあるzipファイルをシェルスクリプトで処理したい。 判定したいのが、ファイル名の文字コードなのか、ファイル内容なのかがわからないけど。
ファイル名だったら、
zipinfo -2 file.zip
で中身のファイル名がわかるから、それを判定するとか?
元のファイル名が上記コマンドで得られるかわからないけど。
ファイル内容であれば見るために一旦zipを展開しないと見れないので、
テンポラリディレクトリに展開してfileコマンドでみるとか、nkf -gで見るとかかな。 ■ このスレッドは過去ログ倉庫に格納されています