くだらねえ質問はここに書き込め! Part 238
■ このスレッドは過去ログ倉庫に格納されています
まずは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 237
http://mao.5ch.net/test/read.cgi/linux/1563027196/ >rename 's/./-/' *.mp3
正規表現で、. - は特別な意味がある、特殊文字。
. は任意の1文字、- は、[a-z] で、a〜z みたいに範囲を表す
特殊文字をエスケープするには、\(バックスラッシュ)を使う。
普通の文字に、\を使っても、何も変わらない
ただし、今回の- は、[ ]内ではないので、エスケープする必要はないけど、しても何も変わらない
Perl の正規表現で、
echo '03.髪.mp3' | perl -pe 's/^(\d+)\./$1-/'
#=> 03-髪.mp3
^ は行頭で、\d+ は数字が1つ以上、
( ) は、キャプチャー部分で、$1 〜 $9 で参照できる
Ubuntu では、安全のため、-n オプションを付ける。
-n, -nono
No action: print names of files to be renamed, but don't rename. 's/\./\-/' でどうかな
正規表現だと. (ドット) は任意の1文字にマッチするからそのままだと最初の0にマッチする
バックスラッシュをつけてエスケープするとドットそのものにマッチするようにできる
範囲を表す−(ハイフン)も同様 >>247,>>248
ありがとうございます。
そうなんだ。特殊文字、エスケープ、正規表現、
勉強します。
教えて頂いて、ありがとうございます! >>249
自分も思ったんだけど>>246みるとハイフンでもエラーが出るらしいんだよね
それともリネーム後の頭にハイフンがついたファイルを別のコマンドに食わせようとしてのエラーなのかな?
こっちも検証してるわけでもないし、まあやってみてまた違うエラーが出たら書き込んでくれればまた適当にコメントするわ >>251
間違って付いてしまったファイル名の扱いのことでしょ
-xxx.mp3を引数に渡すとオプション扱いされてしまうという
>>246
-で始まるファイル名を直したいときは先頭に./を付ける
./*.mp3 >>252
-のエラーはそう言うことか。
必要なのは、-1.この世に二人だけ.mp3のようなファイルを
01-この世に二人だけ.mp3に変換するプログラムってことだよな。
でも、頭の-のところの数字が何だったかって、もう分からんよな。
俺なら、分からんのなら-1.この世に二人だけ.mp3の
"-1."を削って、そして、頭に2桁のナンバリング+"-"けるってするかな。 引数に - が含まれる場合には「コマンド名 -- -引数」といったように -- を指定することで、コマンドは -- 以降の -引数 の部分をオプションではなく引数として解釈する。
https://shellscript.sunone.me/parameter.html >>246
横着しないでパターンにファイル名全体を指定するよろし
$ rename -n 's/(\d+)(\.)(.*)/\1-\3/' 01*mp3
\1 better written as $1 at (eval 1) line 1.
\3 better written as $3 at (eval 1) line 1.
01.この世に二人だけ.mp3 renamed as 01-この世に二人だけ.mp3
-nを付けると試行になって実際には置換しないから事故防止にオススメ
ハイフン云々はあくまで-foo.txtみたいなハイフンで始まるファイルの場合ね
rm -- -foo.txtやrm ./-bar.txtで対応できるけど今回とは無関係 >>254
それはコマンドによっては使えないので要注意 metacityで
ウィンドウの最小化ボタンを押したらウィンドウが見えなくなってしまいましたが
これを元に戻すにはどうしたらいいですか? MINT17でスピーカーから音は問題なく出るのに、
MINT18にしたら、スピーカーから音がでず、ヘッドフォンでは音がでます。
Winodows10にしてもスピーカーから音がでず、ヘッドフォンでは音がでます。
BIOS(UEFI)はいじっていません。MINT18のどこの設定をいじれば良いですか? >>246
タイムリーだなw
開発が進むWindows 10用ユーティリティ「PowerToys」 その機能をチェック
https://ascii.jp/elem/000/001/969/1969024/index-2.html
PowerRenameは、エクスプローラーのコンテキストメニューから起動する
(ファイルやフォルダーが選択されている必要がある)。選択したファイルが
ダイアログボックスしたのリストに表示され、その上に動作条件のチェックボックスがある。
また、対象文字列(Search for)や置き換え文字列(Replace with)を変更すると、
リストの後ろに想定される新しい名前を表示する
最大のメリットは、正規表現を使ってファイル名の変更が可能なことだ。
このため、「test」という単語を含むファイル、数字だけの名前のファイルといった
ワイルドカードなどでは指定不可能なファイルをまとめ処理できる。
また、正規表現機能としてカッコでくくった検索条件を置換名称に含めることができるため、
元のファイル名の一部をそのまま新しい名前の一部とすることも可能だ。
やり直しもできる:
Microsoftが「PowerToys v0.12」を公開、ファイル名の一括変更が容易に
https://www.atmarkit.co.jp/ait/articles/1911/01/news057.html
画面にあるように、検索/置換入力フィールドにユーザーが入力している間、
プレビュー領域には変更後のファイル名(Renamed)を元のファイル名(Original)と同時にリアルタイム表示する。
その後、PowerRenameがWindowsエクスプローラーのファイル操作エンジンを呼び出して、
名前を実際に変更する。このような仕組みになっているため、
PowerRenameの終了後であっても名前の変更操作を取り消し可能だ。 応急対処方法はわかりました。
MINT18で、lspci,lsmod,dmesgの出力では問題ないように思えるのですが、
alsamixerでみたら、(恐らくボリュームの)Headphoneが0、Speakerが100になっています。
alsamixerの設定で、Headphoneの値を大きくしたら、スピーカーからも音がでるようになりました。
ただし、ヘッドフォンのジャックを一度抜き差しすると、スピーカーから音は出なくなり、再度alsamixerで上の修正が必要になります。 プロバイダーのメールをimapで使おうとしてるのだが、
UFWのポートの開放って993OUT,IN両方しとけば通るよね?
なぜか通らないのだが他にポート開けないとだめだっけ?
送信はSMTP開けてるので通る。 UFWオフにすると通るからどこかのポートだと思うのですが、
どのポートですか? なんかUFWでPort993をOUT,IN両方ALLOWにしたら通ったわ
さっき通らなかったのだが・・・
で、これIMAPSで送受信する時ってIN、OUT両方ALLOWにしないとだめだよね? WIN10に愛想が尽きたのでLINUXを始めてみようかと思います。
手始めに中古で三万円台のノートでも買おうかと思うのですが
何かアドバイスがあればよろしくお願いします。
中古は止めとけとか、ここで買った方がいいとか、 Windowsで使うつもりで選んでそれにLinux入れればいい パスが/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binで
cvt command not found
っておかしくないか MINT18では次のようになってます。
$ which cvt
/usr/bin/cvt >>269
まずは
# find / -name cvt -print
でファイルがあるのか確認したら? >>270
すごいそんな方法知らなかったありがとうございます
ちなみに無かった、gftもなかった マジですごい下らないこと聞くんだけどさ、
cdコマンドで - というディレクトリに移動できる? >>272
パーミッションの問題以外でcdで移動できない場所があるとすれば、それは最早ディレクトリではない >>272
cd -
はbashでは以前のディレクトリへの移動だよ。文字通り
cd ./-
をしたいという趣旨かもしれんけど。 いや、だから - という名前のディレクトリだよw
移動する方法ある? あ、なるほど、./- とすればいいのか
\- に見えてたwww metacityやmutter等のウィンドウマネージャーで
最小化して行方不明になったウィンドウの戻しかたを教えてください Alt+Tabとかウィンドウコントロール系のショートカットしらんけど Mint19.2でCinnamonでfctixをIMEに使ってます。
しかし、fctixがOS起動後にゾンビプロセスを必ず一つ作ってます。
このゾンビプロセスを作らないようにするには、どうすればいいのでしょうか?
プロセスの出力結果です
1888 0.0 0.0 0 0 ? Z Nov03 0:00 [fcitx] <defunct>
1890 0.0 0.4 282760 33620 ? S Nov03 0:22 /usr/bin/fcitx
1917 0.0 0.0 50188 4012 ? Ss Nov03 0:15 /usr/bin/dbus-daemon --syslog --fork --print-pid 5 --print-address 7 --config-file /usr/share/fcitx/dbus/daemon.conf
1950 0.0 0.0 27592 216 ? SN Nov03 0:00 /usr/bin/fcitx-dbus-watcher unix:abstract=/tmp/dbus-ZQiWjNPUgb,guid=90a1764fa94a3f5b28e544135dbeca77 1917 1つぐらいゾンビを作っても、大したことないだろw
確かゾンビって、親プロセスが子プロセスを起動したのに、
子プロセスの終了コードを、wait しなかったか何かだろ
それで子が終了したのに、その終了コードをどう扱えばよいのか、OS が分からないから、
ひとまず保存しているだけだろ
大量にゾンビがあるなら、消せば良いけど、
1つのゾンビを消す手間がもったいないw ゾンビを消すには再起動しか無いのがLinuxの大きな欠点 まさか!
いくら何でも、ゾンビ削除ぐらいできるだろ 徳丸本やろうとしたのですがURLで渡された仮想マシン(32bit)のインポートが上手くいきません。
仕方ないので手持ちの環境(Debian 64bit)で試そうか迷ってるんですが、その場合何か問題起きたりしますかね‥‥? ゾンビは親が自分より先に死んだ子供を成仏させずに現世に縛り付けてる状態やからその親を殺せばゾンビも一緒に神様が成仏させてくれるんやで すみません
android 10に搭載されている
ファイルベースの暗号化というのは
初期状態で有効化されているのでしょうか?
現時点で有効なのかどうかの確認手段が分かりません >>294
イタチな上に、エアユーザー?簡単に確認できるだろ
確認できない程度なら知る必要は無い >>295
android 10ではフルディスク暗号化がサポート外になったから
従来の暗号化の確認手段では確認は無理 自己解決しました
「adb shell getprop ro.crypto.state」で確認可能だったようです elementaryOS Junoを使ってます
マウスのダブルクリックの感度を調節したいのですが
メニューからはマウスのダブルクリック感度を変更する方法が見当たりません…
もしかしてCUIからコマンドまたはコンフィグファイル編集で調節できればと思ったのですが、
Linuxではマウスの設定コマンドまたはコンフィグファイルはありますか? sed 1d a b c とするとaにしか1dが効かないけど sed -i 1d a b c にすると全ファイルに1dが効くのは仕様? (debian) sedの入力に複数ファイルを指定できるなんて初めて知った。 純粋な vi でファイルを挿入することはできないの? The traditional viの資料をざっとみましたが、
vimでいうところの:r filename と同じ機能は無いみたいですね。
<http://ex-vi.sourceforge.net/vi.html> >>306
いや:r filename あるだろ?
> <http://ex-vi.sourceforge.net/vi.html>
にはexコマンドが載ってないだけでは。 sedと言えば-i使った時も結果を表示できない?
リダイレクトなら代わりのteeで済むのに $ echo | awk '{print "foo"}'
foo
どうして、echo | が最初にくるんでしょうか?
むしろ、awk '{print "foo"}' | echo なような気がするんですが。
awk '{print "foo"}' | cat でも動作しませんでした。 >>303
確認したらBSDでも同じ挙動らしい
どうも >>309
> $ echo | awk '{print "foo"}'
通常は
$ awk 'BEGIN{print "foo"}'
などと書くのを、そいつが知らないだけ。おそらく gawk infoなどを読んだ事の無いやつ。 >>302
同じような置換を複数ファイルにたいしてやりたいときは
sed -i '...' *.txt
ってよくやる >>311
>>309はawkの使い方を尋ねているのか。
たずねているのは並び順についてではないのか
awk '{print "foo"}' | echo
が>>309としてはfooと表示させる正しい順番のような気がするが、
でも、ダメ(ダメな理由は何?)で、逆の
echo | awk '{print "foo"}'
だとfooと表示される。どうしてこれが正しいか順番(|の右左を入れ替えた)になるんですか?
が質問の主旨じゃないのか
俺は低脳でシェルスクリプト分からんから答えられないが。 大体何したいのかが不明
echo foo で済むだろ >>314
俺思うに、何かしたいから尋ねているのではなく、文法(この場合は並び順)
について知りたいと言うことなんじゃないかと思う
プログラミング言語(シェルスクリプトもプログラミング言語)では文法の理解は大事だからな >>315
そもそも>>309の書き方が正しいみたいな前提から始まってるのがおかしいんじゃないか
echoの出力 (この場合は引数なしだから空) をパイプでawkに渡してるけど、awkも受け取った入力を使うわけでもなくただ "foo" を出力するだけだから結果として foo が出力される
echo foo bar | awk '{ print $1 }'
echo foo bar | awk '{ print $2 }'
を実行してみると多少は意味のある(応用の効く)結果になる >>315
> 文法
等価例がその回答だろう。
普通は比較して理解を図るのでは。 >>309
$ awk '{print "foo"}'
だと入力が指定されていませんから、標準入力(キーボードから打ち込む)待ち状態になります
動作していないのではなく待ち状態
何か文字を打ち込んでエンターキーを押せばfooが表示出力されます
その出力をechoやcatへ渡すのは???です >>309
> awk '{print "foo"}' | cat でも動作しませんでした
動いているけど標準入力で待ちになってるから、わかりづらいだけだと思う
ABCとか適当に何かうって、CTRL-Dすればfooが最後に出力される
上の方の指摘通りBEGINつければawk '{print "foo"}' | catですぐにfooが返ってくる
awk '{print "foo"}' | echo もechoで標準入力待ち状態になってる。
しかしcatと違ってechoが新たに標準入力作ちゃってる( 上書き?)から、
適当に入力してもfooは返ってこない
awk 'BEGIN {print "foo"}' | echo も空白になる。
この例でecho でfooを表示させるには
awk 'BEGIN {print "foo"}' | echo $(cat)
awk 'BEGIN {print "foo"}' | xargs -I@ echo @
fooを明示的に引数として渡さないと表示されない
むかしパイプからechoで値とれなくて躓いたから、この質問のレス主の気持ち分かる 皆様、レス頂きましてありがとうございました。
シェルで、$((1.4*3))のように、小数のある計算ができなかったことから、
awkに挑戦しました。
皆様のレスを読ませていただき、少しだけわかってきました。ありがとうございます。
今は、awkで計算した結果を、result=`awk 'BEGIN{print 1.4*3}'` みたいに、シェル変数に格納しようと考えています。
>>311
awk 'BEGIN {}' のように、BEGINという構文があることから、
一度しっかりawkというものを勉強したいと思いました。
BEGINを使うと、echoが不要になることは新しい発見になりました。
>>313>>315
そうです。echo | awk '{print "foo"}' の書き方が、
これまでのechoの使い方からは理解不能だったのです。
>>314
ノー!!
>>318
理解しました!
awk '{print "foo"}' は入力を待っている状態なんですね。試したら、確かに!
だから、echo | awk '{print "foo"}' で空の入力(>>316さんのおっしゃる内容)を送る必要があるわけか。なるほど。
>>311さんのように、awk 'BEGIN {print}' とすると、その待ち入力が不要になるという理解ができそうです。 >>319
まとめてくださってありがとうございます。共感されて、嬉しいです。
でも、とても複雑です。Linuxの入力、出力の基本が曖昧だからなのかもしれません。
それに、awk '{print "foo"}' | echo がなぜダメなのかを教えて下さってありがとうございます。
まず、awkは入力待ちで出力しない、一方でechoは上流からの入力待ちになっている。
このとき、何かキー入力しても | echoの影響で、awkの方にはもはや入力されないということなんですね。
キーボード入力がどこかに向いてしまったということかもしれないですね。
awk 'BEGIN {print "foo"}' | echo $(cat) は、なぜ、
awk 'BEGIN {print "foo"}' | cat ではダメなんだろうという疑問が残ります。
catは標準入力を画面に出力するから、どうしてechoを挟む必要があるんだろうなあ。
基本を勉強します。 >>321
>awk 'BEGIN {print "foo"}' | echo $(cat) は、なぜ
言葉足らずで混乱させちゃったかもしれません。
パイプを通した時echoが明示的に引数必要なときがあるのを強調したかっただけで、
正規表現とかのフィルター挟む必要ないなら
awk 'BEGIN {print "foo"}' | echo $(cat) と awk 'BEGIN {print "foo"}' | cat は結果は同じです
よろしくです >>322
ご丁寧にありがとうございました。
echoに上流からのデータを渡したいときに、
教えて頂いた方法を使ってみたいと思います。
勉強になりました! AMDのRyzen3 2200G買っちゃいました。まちがって型落ちの方買っちゃいました。でも安かったのでセーフ。ボクもアンド使いマンに転校。
せっかくだからカーネルをコンパイルしよおと思いました。5.4.0-rc6
どおせならCPUを合わせようと、プロセッサーファミリイのオプション見たら以下から選べとありました。
・Opteron/Athlon64/Hammer/K8
・Intel P4 / older Netburst based Xeon
・Core 2/newer Xeon
・Intel Atom
・Generic-x86-64
アンドなので、一番上のやつを選んだんですが、RyzenはK8とかじゃなくてZenアーキテクチァーなので、性能を出し切れてるかわかんないです。
Core2のを選んだほうが逆に良かったでしょおか。わかんないです。
どっちがいいと思いますか?
ちなみにコンパイル中にまだgcc落ちてないです。エラー心配です。3000番台買えばよかった。 3000番も2000番もたいして変わらないよ
AMDはM/BとRAM選びが肝
2200GはSEGV出ないはずだが シェルスクリプトのforループなどで、
ループindexが0のときだけ1を得て、
それ以外の場合は、全て2を得る方法ってあるでしょうか。
for((i=1 ; i<100;i++)) ; do ここでループインデックスに応じて上記のように、1か2を得たい。 ; done
最初、シンプルにi/i +1 で、目的は達成できると思いきや、
0除算エラーに見舞われて、手をこまねいています。
別途、関数を作って引数を判断して目的の値を得るしかないでしょうか。 tigervncでログインするとrootユーザーだとサウンド設定の音源ボードが存在するのに
一般ユーザーだとダミーの出力になってしまいます。
一般ユーザーでも音源使えるようにする方法どこかに書いてありませんか? >>326
こういうこと?
expr 2 - \( i = 0 \) え?あ?何やってるんだろう? 放置してたが、さらに斜め上のw
どうして、ゼロ除算するような発想が生まれて、さらにこういうレスがつくんだろw
> ループindexが0のときだけ1を得て、
> for((i=1 ; i<100;i++)) ;
それループインデックスの最初は1だからw
ゼロ除算するってことだから i は 0から始まるのが正しいんだろうとして
> ループindexが0のときだけ1を得て、
> それ以外の場合は、全て2
と自分が書いてるとおり書けばいいんだよ
for((i=0 ; i<100;i++)) ; do echo $((i == 0 ? 1 : 2)); done
計算せずになんでも文字列処理してしまうやつがいるが、
時には計算しないほうがいい ちなみに>>328はexprをループの数だけ呼び出すから遅くなる。 >>327
Linuxで音鳴らすとか興味ないからやったこと無いけど
(デスクトップインストールすると勝手に鳴るが)
ユーザー権限の話なら、いつものグループに追加するとかじゃね? >>329
計算でやろうとするのは止めて、
素直に文字列処理することにしました。
$((i == 0 ? 1 : 2))
は、ワンライナーで書けて、気に入っています。
どうも、ありがとうございました。
>>328
expr という評価の方法もあるのですね。
初めて知りました。
ありがとうございます。 >>332
> $((i == 0 ? 1 : 2))
これは文字列処理じゃないぞw
三項演算子という、足し算掛け算などの演算子の一種だ >>245
亀レスで申し訳無いです。
実際にやってみました、他ドメインに配送するサーバのipアドレスのみspfに記載しました。
特に問題は起きていないのでこれでokです、ありがとうございました。 >>331
ビンゴでした。
ユーザーをaudioグループに追加したら鳴るようになりました。
ありがとう。 >>333
>計算せずになんでも文字列処理してしまうやつがいるが、時には計算しないほうがいい
文字列処理、
計算、
三項演算子、
計算というのは、i/i+1みたいなやり方で、
ここでは、三項演算子という方法で目的の数を得ているわけですね。
文字列処理は、カット、ペーストかな。 まじでくだらない質問で恐縮です
gnome-shellにおいてClient-side decorationsに対応していないアプリを起動した時、ウインドウデコレーションは何を使ってるんでしょうか? すまんが、CSVファイルをくっつけたいんだけどさあ
最終行に改行をくっつけて統合とか、簡単にやる技あったら教えてくれんかな? catでくっつけると、最終行に改行をいれる方法がわからんべ・・・どうすればよかんべえな? $ cat csv1 <(echo) csv2 > csvnew >>338
for f in *.csv; do printf '%s\n' "$(cat "$f")"; done
"$(cat FILE)" で各ファイル末尾の1個以上の連続改行を捨てて
printf で改めて改行を付ける メモリーの中見るのにいいソフトないですか?
メモリーが完全にクリアされたか
メモリーがどのソフトが使ってどんなデータが入ってるか
見れるソフトないですか?
てか、セキリティ上メモリーを検査するソフトってあるの?
まあ、超有名でユーザー多いソフトでお願いたします。 ■ このスレッドは過去ログ倉庫に格納されています