[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/02 10:31 / Filesize : 297 KB / Number-of Response : 1012
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだらねえ質問はここに書き込め! Part 238



1 名前:login:Penguin mailto:sage [2019/10/04(金) 07:31:02.74 ID:Rnyv5utD.net]
まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
www12.atwiki.jp/linux2ch/

読んでも解決しなかったら、質問を書きこむ前にここを読もう。
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
mao.5ch.net/test/read.cgi/linux/1563027196/

190 名前:login:Penguin [2019/10/27(日) 12:52:04.73 ID:V2uhvpIm.net]
すいません、
松田聖子のファイルが200以上あってファイル名が、
いちご畑でつかまえて.mp3
潮騒.mp3
電話でデート.mp3

なんで、行頭に三桁、あるいは四桁の連番を付けたいと思います。
001-いちご畑でつかまえて.mp3
002-潮騒.mp3
0213-電話でデート.mp3
調べたんですが、行頭に連番をつける方法が見つかりませんでした。
よろしくお願いします。

191 名前:login:Penguin mailto:sage [2019/10/27(日) 13:25:45.94 ID:dgTsOTGe.net]
>>188
rename 's/^/sprintf("%03d-", ++$::t)/e' *.mp3

renameコマンドはDebian系ならrenameパッケージに入ってるやつね

192 名前:login:Penguin [2019/10/27(日) 16:03:08.34 ID:V2uhvpIm.net]
>>189
遅くなりました。ありがとうございます。

200曲無事完了しました。手でやっていたらタイヘンだも〜〜〜

ありがとう。

193 名前:login:Penguin mailto:sage [2019/10/27(日) 18:17:28.51 ID:1EgYvHMw.net]
松田聖子が200以上か…

194 名前:login:Penguin mailto:sage [2019/10/27(日) 20:17:04.79 ID:vrbz31o7.net]
キャリア30年以上あれば余裕でその位はあるだろう

195 名前:login:Penguin mailto:sage [2019/10/27(日) 22:13:55.48 ID:8NH89CAZ.net]
>>191
俺は松田聖子は激しく上であんまり知らないが、5chには若い時から松田聖子が
好きってどおっさん世代は多いだろ。で、大ファンなら200以上持っていても不思議
ではない。

196 名前:login:Penguin mailto:sage [2019/10/28(月) 07:11:10.04 ID:DrC7/o+o.net]
松田聖子は、ユーミン(呉田軽穂)の名曲が多い

コード進行も、半音下がりのクリシェを多用したり、
米国で言えば、David Foster に匹敵する時代!

まあ、ユーミンは、女筒美京平と言われて、
林哲司は、日本のDavid Fosterと言われていたけど

日米英国も、MTV の影響か、80年代ポップスに名曲が多い

197 名前:login:Penguin [2019/10/28(月) 08:25:15.43 ID:HMUb8kSq.net]
エスケープをかましたsedの使い方で質問があります

$ echo -e "dog,\033[38;5;11m hoge\033[0m, cat"
dog, hoge, cat <=== hogeだけ黄色で表示

$ echo -e "dog, hoge, cat" | sed -e "s/hoge/foo/"
dog, foo, cat <=== 普通のsedの結果

この上記2つを組み合わせたいのですが
エスケープキャラが色コードに変換されず、hogeの前にfooが食い込でます
$ echo -e "dog, hoge, cat" | sed -e "s/hoge/\033[38;5;11mfoo\033[0m/"
dog, hoge33[38;5;11mfoohoge33[0m, cat <=== ぐちゃぐちゃ

この例でhogeから黄色のfooにsed変換するにはどうすればいいですか?

198 名前:login:Penguin mailto:sage [2019/10/28(月) 09:17:41.62 ID:lNAOad9p.net]
>>195
bashから実行するなら
echo -e 'dog, hoge, cat' | sed -e $'s/hoge/\033[38;5;11mfoo\033[0m/'



199 名前:login:Penguin mailto:sage [2019/10/28(月) 09:55:01.53 ID:XUE5MeKL.net]
役に立つかどうかわからないけど、参考にしてね。
$ echo "dog, hoge, cat" |
> sed -e 's/hoge/\\033[38\;5\;11mfoo \\033[0m/' |
> sed -e "s/^/'/" -e "s/$/'/" |
> xargs echo -e

200 名前:login:Penguin mailto:sage [2019/10/28(月) 10:16:17.82 ID:gaVasQIf.net]
色コードを素直にredやgreenで扱える便利道具ってないの?

201 名前:login:Penguin mailto:sage [2019/10/28(月) 11:50:49.14 ID:5E0lMxSX.net]
>>198
tput

ただし大抵の環境で入ってるはずだが、入ってない環境もある。
見やすいが冗長。外部コマンドなので遅い。

202 名前:login:Penguin [2019/10/28(月) 14:05:13.29 ID:HMUb8kSq.net]
>>196
「$」一文字ですごい。
この場合のクォーテーションで括られたパターンの外の$はどういう意味ですか?

>>197
一行づつ読んで、2度めのsedでパターンの前後に「'」を足してる事を理解しました。
これを参考にして、元の例のシングルクォーテーションをリテラルに変更して
  echo -e '''dog,\033[38;5;11m hoge\033[0m, cat'''
これで望んだ結果が出力されたました \(^o^)/

203 名前:login:Penguin [2019/10/28(月) 14:17:33.13 ID:HMUb8kSq.net]
>>197
>> 200 でまちがって中間のコマンド履歴をうってました m(_ _ )m
ただシングルクォーテーションが鍵なのがわかりました

204 名前:login:Penguin [2019/10/28(月) 14:31:46.32 ID:jxo+K6ql.net]
Linuxのほうは公式のディストリってものがないからだろうな

205 名前:197 mailto:sage [2019/10/28(月) 21:30:39.09 ID:k8dpn6a1.net]
>>200
>「$」一文字ですごい。
> この場合のクォーテーションで括られたパターンの外の$はどういう意味ですか?

洒落てますよね。私も、それでよかったのかと感心しました。
$'...' は、bash のクォートの一種です。man bash の「クォート (QUOTING)」を見てください。
この部分は、英語マニュアルの方がわかりやすいと思います。

206 名前:login:Penguin mailto:sage [2019/10/29(火) 12:35:22.88 ID:iAozzjoU.net]
>>196
>echo -e 'dog, hoge, cat' | sed -e $'s/hoge/\033[38;5;11mfoo\033[0m/'

\033 を、\e に代えても動く

echo -e 'dog, hoge, cat' | sed -e $'s/hoge/\e[38;5;11mfoo\e[0m/'

207 名前:login:Penguin mailto:sage [2019/10/29(火) 13:21:09.12 ID:VPiAGyFh.net]
echo -e 'dog, hoge, cat' | sed -e 's/hoge/^[[38;5;11mfoo^[[0m/'

ただし ^[ は ctrl+v の後に escキーで入力

208 名前:login:Penguin mailto:sage [2019/10/29(火) 18:17:48.56 ID:HNRQ6y5r.net]
sway使いはおらんのけ?



209 名前:login:Penguin mailto:sage [2019/10/29(火) 22:29:29.28 ID:pFWErwX/.net]
ターミナルで折り返し改行されたときに上矢印押したら上の行に行けるようにできたりしませんかね。下矢印で下。ずーっと横長の移動しなくちゃいけないから辛いです。
それでもって一番上の行で上を押せば前の履歴に行くような普通の操作を実現したいです。

今使ってる環境はgnomeターミナル+tmux +zsh

210 名前:login:Penguin mailto:sage [2019/10/30(水) 23:58:54.89 ID:ukMyq2L7.net]
xargsでaliasを使う方法ってないんだな
自作コマンドを使う方法はあるのに

211 名前:login:Penguin [2019/10/31(木) 00:50:56.71 ID:reP6OUR1.net]
bashの配列で質問です。
空白で区切られた3つの要素を配列に代入
declare -a array=( "A B C" "C D E" "F G H" );
for ((i = 0; i < ${#array[@]}; i++)) { echo "array[$i] = ${array[i]}" }

結果は予想通り
array[0] = A B C
array[1] = D E F
array[2] = G H I

今度は改行で区切られた3つの要素の内容を、awkで逆順した結果に「"」とつけて配列に代入。
declare -a array=( $(echo -e "A B C\nD E F\nG H I" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}') );
for ((i = 0; i < ${#array[@]}; i++)) { echo "array[$i] = ${array[i]}" }

しかし、実際はクォーテーションの機能も無視され、空白でバラバラに区切られ配列に代入されてします。
array[0] = "C
array[1] = B
array[2] = A"
… 略 …
array[7] = H
array[8] = G"

配列に代入しなければ期待通りの結果が出力されます。この結果を望んでいます。
echo -e "A B C\nD E F\nG H I" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}'
"C B A"
"F E D"
"I H G"

どうすれば配列の要素に上記の結果を代入することができますか?

212 名前:login:Penguin mailto:sage [2019/10/31(木) 00:56:01.59 ID:hpOp+iT/.net]
>>209
配列なんか使うな。それはbashの拡張だ。
POSIXシェルには配列などというものはない。

外部コマンドの呼び出しなんだからそれはbashスクリプトの外の話だ
bash専用機能である配列は使えない

213 名前:login:Penguin mailto:sage [2019/10/31(木) 01:02:37.89 ID:hpOp+iT/.net]
そもそもシェルというものをわかっていない。
一般的な言語の関数は、引数で情報を与え、戻り値で情報をもらうものだが
シェルというのは情報の入出力を標準入出力で行うものだ。

そしてシェルでは標準入出力の一行が一データ、複数のデータは複数の行数で表すのが基本だ
引数はこういうやり方もあるよという別解だと考えたほうがいい

echo -e "A B C\nD E F\nG H I" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}'
↑つまりはこれが正しいということだ。

だからお前がやるべきことはそのbash依存した配列を
複数行のデータに変換することだ

214 名前:login:Penguin mailto:sage [2019/10/31(木) 01:07:04.68 ID:hpOp+iT/.net]
>>209
話の前に、echo -e はやめとけ。それはbash依存だ。
エスケープシーケンスを使うならprintfを使ったほうがいい

簡単になおせる
printf '%s\n' "A B C" "D E F" "G H I" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}'

そしてbashの配列の代わりに位置パラメータを使えばいい
set -- "A B C" "D E F" "G H I"
printf '%s\n' "$@" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}'

215 名前:login:Penguin mailto:sage [2019/10/31(木) 01:10:51.96 ID:hpOp+iT/.net]
どうしてもbashの配列を使いたいというのならこうだ。

declare -a array=( "A B C" "C D E" "F G H" )
printf '%s\n' "${array[@]}" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}'

考え方は位置パラメータ $@ を使うのと同じだ。
$@ の代わりに ${array[@]} になっただけだ。

言い換えると位置パラメータを複数使えるようになったのがbashの配列だ

216 名前:login:Penguin mailto:sage [2019/10/31(木) 01:11:21.35 ID:CucVKUrX.net]
>>209
readarray

217 名前:login:Penguin mailto:sage [2019/10/31(木) 01:14:52.04 ID:niz424am.net]
>>209
readarrayはパイプにするとサブシェルになってしまって動かないから例も置いとく
readarray -t array < <(echo -e "A B C\nD E F\nG H I" | awk '{printf "%s %s %s\n", $3, $2, $1}')

218 名前:login:Penguin mailto:sage [2019/10/31(木) 01:19:51.44 ID:hpOp+iT/.net]
readarrayもbashの拡張だ。そういうものは使わない
シェルスクリプトはパイプで処理をつなげていくものだ

declare -a array=( "A B C" "C D E" "F G H" )
printf '%s\n' "${array[@]}" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}' | while read -r line; do
 echo "$line" # $lineの加工処理とかなにか
done

こうすることで、出力とawkの加工と自前のreadの処理が並列で動く
readarrayなどを使ってしまったら、一旦bashの配列に入れてしまうから
並列で動かなくなる。つまり遅くなる。

| while read はパイプでサブシェルになってしまって動かないから例も置いとく

printf '%s\n' "${array[@]}" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}' | {
 i=0
 while read -r line; do
  i=$((i + 1))
  echo "$line" # $lineの加工処理とかなにか
 done
 echo "合計行数 $i"
}



219 名前:login:Penguin mailto:sage [2019/10/31(木) 01:20:57.62 ID:hpOp+iT/.net]
>>216のように書くよりも関数にしたほうが分かりやすいがな

func() {
 i=0
 while read -r line; do
  i=$((i + 1))
  echo "$line" # $lineの加工処理とかなにか
 done
 echo "合計行数 $i"
}

set -- "A B C" "D E F" "G H I"
printf '%s\n' "$@" | awk '{printf "\"%s %s %s\"\n", $3, $2, $1}' | func

220 名前:login:Penguin mailto:sage [2019/10/31(木) 01:29:26.44 ID:8CGDUgWT.net]
>>209
古いbashでreadarrayがなければ
eval 'array=('"$(echo -e "A B C
\nD E F\nG H I" | awk '{printf "\"%s %s %s\" ", $3, $2, $1}'

221 名前:login:Penguin mailto:sage [2019/10/31(木) 01:38:06.90 ID:8ldiWh95.net]
>>218のbash依存なし版はこっち。当たり前だけどちゃんと動くでw

eval 'set -- '"$(printf '%s\n' "A B C" "D E F" "G H I" | awk '{printf "\"%s %s %s\" ", $3, $2, $1}')"
printf '%s\n' "$@"

222 名前:login:Penguin [2019/10/31(木) 01:40:37.18 ID:9QFNPqD9.net]
Windowsの感覚が抜けず、シェル上でディレクトリ名やファイル名を大文字小文字を区別せず打ってしまいます
直したいとは思うのですが、差し当たり大文字小文字が間違えていても修正や補完をしてくれるように出来るとありがたいです
何かそういう設定やツール等があれば教えてください

223 名前:login:Penguin mailto:sage [2019/10/31(木) 01:43:22.34 ID:8ldiWh95.net]
あとLinuxならrev使ったほうが簡単だな

set -- "A B C" "D E F" "G H I"
printf '%s\n' "$@" | rev

224 名前:login:Penguin mailto:sage [2019/10/31(木) 01:53:30.01 ID:8ldiWh95.net]
>>219でもいいけど、正直evalを使うとエスケープやダブルクォートが
面倒になったりするからこっちのほうがいいかもな。(↓awkのダブルクォートを消した)

printf '%s\n' "A B C" "D E F" "G H I" | awk '{printf "%s %s %s\n", $3, $2, $1}' | {
set --
while read -r line; do
set -- "$@" "$line"
done
printf '%s\n' "$@"
}

bashで配列に入れたければ頑張れw
まあ、位置パラメータ(配列)に入れるよりも、その場で処理したほうが
シェルスクリプトらしくて速くなるんだが


おまけ、さらに短く
printf '%s\n' "A B C" "D E F" "G H I" | awk '{print $3, $2, $1}' | {

おまけ、さらに短く
printf '%s\n' "A B C" "D E F" "G H I" | rev | {

225 名前:login:Penguin [2019/10/31(木) 03:19:09.95 ID:reP6OUR1.net]
>>213
データを受けた後の一度ちがう処理が入って
その上そのあとプロセス分岐するので、
一度フォーマット整形後に配列に変換して
あとで個別にアクセスしたいと思っていました。
確かにこの方法だと配列に期待した形で代入されました。

>>214 >>215
readarrayは知りまでせんでした。勉強します。

>>218 >>219
これは勉強になります

>>222
> bashで配列に入れたければ頑張れw
がんばりますw
色々な表記方法でありがとうございます。
勉強になります。

みなさまありがとうございました (^人^)感謝♪

226 名前:login:Penguin mailto:sage [2019/10/31(木) 09:58:32.70 ID:HOpY20qN.net]
>>220
bashは.inputrcにset completion-ignore-case Onでできるらしい
あるいは.bashrcにbind 'set completion-ignore-case on'
.inputrcだとreadline全体に影響するから後者の方がいいかも
https://askubuntu.com/questions/87061/can-i-make-tab-auto-completion-case-insensitive-in-bash

zshはqiitaにやり方が描いてあった
https://qiita.com/watertight/items/2454f3e9e43ef647eb6b

227 名前:login:Penguin mailto:sage [2019/10/31(木) 10:13:09.17 ID:w4pP63KT.net]
>>220
shopt -s cdspell dirspell
cdspellはcdの引数の誤字脱字が1文字なら修正する
cd /Va
cd /Var
cd /vaa
cd /ar
こんなのね

dirspellはdirの誤字脱字が1文字ならタブ補完時に修正する
 ls -l /va/logs/
ここでタブを押すとls -l /var/log/になる

あくまで一文字だけだからあまり宛にはできないけどね
shoptにはcdなしで移動できるautocdもあるからいくつか設定しとくと便利
基本は小文字で打って後はタブ補完で勝手に入力させればいいよ

228 名前:login:Penguin mailto:sage [2019/10/31(Thu) 13:43:01 ID:ljvnXlxv.net]
すいません質問です
SparkyLinux 5.9 Xfce 64 bit に Software Boutique というパッケージマネージャを
インストールするため 
https://snapcraft.io/install/software-boutique/debian
を参考にインストールしてみた
( ターミナルで"software-boutique 0+git.9cc961a
from Martin Wimpress (flexiondotorg) installed"まで表示されました )
のですが
どうやったら Software Boutique を起動できるのでしょうか
メニューでそれらしきところを探してみたのですが見当たりません
よろしくお願いします



229 名前:login:Penguin mailto:sage [2019/10/31(木) 20:19:09.63 ID:HYxFHwOd.net]
別にbash依存でよくない?
posix互換厳守にしようとすると面倒
将来bashが無くなっちゃうことってないだろ、無くなったらその時はその時だし

230 名前:login:Penguin mailto:sage [2019/11/01(金) 03:02:42.50 ID:FRerU7gf.net]
ノートPCを起動するとGNU GrubのBASH画面で止まるようになりました
恐らくexitと入力すれば先へ進めるのですが、あいにくキーボードが半壊していて入力できません
USBのキーボードは読み込んでくれず、BIOSに行くことも何故かできなくなりました
一応「ryodfghkl;'zxcvbnm,.」は入力することができますが何か突破口はありますか?

231 名前:login:Penguin mailto:sage [2019/11/01(金) 03:26:49.91 ID:xK4Ryk/p.net]
USBメモリブートやUSBCDブートもやりましたがやはり最初から認識しないようで駄目でした
PS/2キーボードは本体も刺す所もないです

232 名前:login:Penguin mailto:sage [2019/11/01(金) 03:27:39.73 ID:R2TKQ4dq.net]
>>227
将来世の中からbashが消えて無くなることはないが、
bashが使われてない環境ってのは存在するよ。

bashを使わなければいけないという特別な理由があるならいいけど、
必要ないのに依存させる意味がない

233 名前:login:Penguin mailto:sage [2019/11/01(金) 03:53:46.79 ID:+wZq5vgs.net]
自分のプログラムが巡り巡ってbashのない環境で動かすことになる可能性があるかどうかってことだけだな
結論としては不要
必要になったらまたその時考えればいい

234 名前:login:Penguin mailto:sage [2019/11/01(金) 05:33:45.83 ID:WI3r7Akd.net]
POSIX原理主義者はシェルスクリプトスレが引き取ったはずだし迷子かな

235 名前:login:Penguin mailto:sage [2019/11/01(金) 13:09:00.41 ID:BMKjWeTQ.net]
POSIX原理主義者はどこにでもいる

236 名前:228 mailto:sage [2019/11/01(金) 16:20:27.36 ID:oYdI1LQt.net]
無事BIOS起動して自己解決しました

237 名前:login:Penguin mailto:sage [2019/11/01(金) 16:27:48.46 ID:qfES3rdP.net]
>>235
良かったな。

238 名前:login:Penguin mailto:sage [2019/11/01(金) 19:24:40.57 ID:CYJonS8S.net]
メールのspfって

メールサーバA グローバルIP: aaa.aaa.aaa.aaa
からリレーされて
メールサーバB グローバルIP: bbb.bbb.bbb.bbb
から各ドメインに配送する場合、

spfにはbbb.bb.bbb.bbbだけ登録しても有効?
Recievedヘッダに入っていれば、最終の配送サーバのipアドレスだけ登録しても良いの?



239 名前:login:Penguin mailto:sage [2019/11/02(土) 14:11:37.25 ID:G/Y6LUFG.net]
ちょっとした疑問ですが、

よく、YouTube で、セミナー動画を見るのですが、
長いコマンドをコピペするのに、時間が掛かる人がいるのですが、

使うコマンドを、あらかじめヒストリーに登録しておけないのですか?

240 名前:login:Penguin mailto:sage [2019/11/02(土) 14:16:26.03 ID:wcogQYm2.net]
そういうアホの動画は見る必要ないですよ

241 名前:login:Penguin mailto:sage [2019/11/02(土) 15:06:19.73 ID:WQHwUzU+.net]
カーネルの4.15.XX をインストールしないようにするには
どうすれば良いですか?
カーネルは5.0.xxを使用してるんで・・・

242 名前:login:Penguin [2019/11/02(土) 15:10:52.07 ID:ZIBjJAUd.net]
>>237
そのためのエイリアス

243 名前:login:Penguin [2019/11/02(土) 15:36:21.97 ID:WYRryZM8.net]
>>239
どういうこと?

244 名前:login:Penguin mailto:sage [2019/11/02(土) 15:49:16.60 ID:WQHwUzU+.net]
>>241
4.15.XXをアップデートさせたくないのです(使用しないから)
削除はukuu-gtkで可能なんですが ・・・

245 名前:login:Penguin [2019/11/02(土) 16:06:28.41 ID:A8GcRn6I.net]
くだらない質問してもいいですか?

246 名前:login:Penguin [2019/11/03(日) 01:14:32.57 ID:5USr6aie.net]
>>228
ctrl-D

247 名前:login:Penguin mailto:sage [2019/11/03(日) 03:30:25.20 ID:qnpxgF/F.net]
>>236
配送先の各ドメインのMTAから見て直前のMTAのみ記載で良い
今回の質問ならbbb.bbb.bbb.bbb
メールサーバAから直接各ドメインに配送するパターンがあるならaaa.aaa.aaa.aaaも必要
SPFの検査は発IPとエンベロープFROMしか見てないから、ヘッダのReceivedは気にしなくて良い

248 名前:login:Penguin [2019/11/03(日) 11:12:58.83 ID:k3m20uS+.net]
すいません、先週松田聖子のファイル名で質問した者です。

Windowsから引っ越ししてきた中島みゆきのファイルが沢山あって、
01.この世に二人だけ.mp3
02.夏土産.mp
03.髪を洗う女.mp3
などで、教わったRenameコマンドでアレヤコレヤとやったんですが、
$ rename 's/./-/' *.mp3  ってやると0が消えちゃって、
-1.この世に二人だけ.mp3 になってしまう、
”-”これがあるとオプションがなんとかで端末に叱られて、、、

01-この世に二人だけ.mp3 と言うファイル名にしたいだけなんですが、
よろしくお願いします。



249 名前:login:Penguin mailto:sage [2019/11/03(日) 12:43:54.80 ID:SZi5v+9Q.net]
>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.

250 名前:login:Penguin mailto:sage [2019/11/03(日) 13:09:22.60 ID:1jAJr1Zb.net]
's/\./\-/' でどうかな
正規表現だと. (ドット) は任意の1文字にマッチするからそのままだと最初の0にマッチする
バックスラッシュをつけてエスケープするとドットそのものにマッチするようにできる
範囲を表す−(ハイフン)も同様

251 名前:login:Penguin [2019/11/03(日) 13:27:54.52 ID:siHYbgSn.net]
置換後の方は\なしでいいかと

252 名前:login:Penguin mailto:sage [2019/11/03(日) 13:30:48.54 ID:k3m20uS+.net]
>>247,>>248
ありがとうございます。

そうなんだ。特殊文字、エスケープ、正規表現、
勉強します。

教えて頂いて、ありがとうございます!

253 名前:login:Penguin mailto:sage [2019/11/03(日) 13:39:27.71 ID:1jAJr1Zb.net]
>>249
自分も思ったんだけど>>246みるとハイフンでもエラーが出るらしいんだよね
それともリネーム後の頭にハイフンがついたファイルを別のコマンドに食わせようとしてのエラーなのかな?
こっちも検証してるわけでもないし、まあやってみてまた違うエラーが出たら書き込んでくれればまた適当にコメントするわ

254 名前:login:Penguin mailto:sage [2019/11/03(日) 13:55:43.67 ID:sxG3YU9I.net]
>>251
間違って付いてしまったファイル名の扱いのことでしょ
-xxx.mp3を引数に渡すとオプション扱いされてしまうという

>>246
-で始まるファイル名を直したいときは先頭に./を付ける
./*.mp3

255 名前:login:Penguin mailto:sage [2019/11/03(日) 14:24:31.69 ID:V/s4+W7S.net]
>>252
-のエラーはそう言うことか。
必要なのは、-1.この世に二人だけ.mp3のようなファイルを
01-この世に二人だけ.mp3に変換するプログラムってことだよな。
でも、頭の-のところの数字が何だったかって、もう分からんよな。
俺なら、分からんのなら-1.この世に二人だけ.mp3の
"-1."を削って、そして、頭に2桁のナンバリング+"-"けるってするかな。

256 名前:login:Penguin mailto:sage [2019/11/03(日) 14:35:21.72 ID:ATPV8fdh.net]
引数に - が含まれる場合には「コマンド名 -- -引数」といったように -- を指定することで、コマンドは -- 以降の -引数 の部分をオプションではなく引数として解釈する。
https://shellscript.sunone.me/parameter.html

257 名前:login:Penguin mailto:sage [2019/11/03(日) 15:44:44.36 ID:3rb1nN4a.net]
>>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で対応できるけど今回とは無関係

258 名前:login:Penguin [2019/11/04(月) 00:32:04.35 ID:DzA1/+vk.net]
>>254
それはコマンドによっては使えないので要注意



259 名前:login:Penguin [2019/11/04(月) 10:30:51.50 ID:YW8ZHB/r.net]
metacityで
ウィンドウの最小化ボタンを押したらウィンドウが見えなくなってしまいましたが
これを元に戻すにはどうしたらいいですか?

260 名前:login:Penguin [2019/11/04(月) 11:23:44.01 ID:egpz1sjN.net]
MINT17でスピーカーから音は問題なく出るのに、
MINT18にしたら、スピーカーから音がでず、ヘッドフォンでは音がでます。
Winodows10にしてもスピーカーから音がでず、ヘッドフォンでは音がでます。

BIOS(UEFI)はいじっていません。MINT18のどこの設定をいじれば良いですか?

261 名前:login:Penguin mailto:sage [2019/11/04(月) 11:31:57.60 ID:rzemKrFd.net]
>>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の終了後であっても名前の変更操作を取り消し可能だ。

262 名前:258 [2019/11/04(月) 12:00:32.17 ID:egpz1sjN.net]
応急対処方法はわかりました。

MINT18で、lspci,lsmod,dmesgの出力では問題ないように思えるのですが、
alsamixerでみたら、(恐らくボリュームの)Headphoneが0、Speakerが100になっています。

alsamixerの設定で、Headphoneの値を大きくしたら、スピーカーからも音がでるようになりました。

ただし、ヘッドフォンのジャックを一度抜き差しすると、スピーカーから音は出なくなり、再度alsamixerで上の修正が必要になります。

263 名前:login:Penguin [2019/11/04(月) 13:49:04.12 ID:JMqc4kg5.net]
プロバイダーのメールをimapで使おうとしてるのだが、
UFWのポートの開放って993OUT,IN両方しとけば通るよね?

なぜか通らないのだが他にポート開けないとだめだっけ?

送信はSMTP開けてるので通る。

264 名前:login:Penguin [2019/11/04(月) 15:42:21.58 ID:JMqc4kg5.net]
UFWオフにすると通るからどこかのポートだと思うのですが、
どのポートですか?

265 名前:login:Penguin mailto:sage [2019/11/04(月) 15:56:22.09 ID:H5qZYnUs.net]
HDMIから24Hzで出力ってできたひとおりゅ?

266 名前:261 [2019/11/04(月) 16:06:21.51 ID:JMqc4kg5.net]
なんかUFWでPort993をOUT,IN両方ALLOWにしたら通ったわ
さっき通らなかったのだが・・・

で、これIMAPSで送受信する時ってIN、OUT両方ALLOWにしないとだめだよね?

267 名前:login:Penguin mailto:sage [2019/11/04(月) 16:22:29.76 ID:0EuAiTf4.net]
WIN10に愛想が尽きたのでLINUXを始めてみようかと思います。
手始めに中古で三万円台のノートでも買おうかと思うのですが
何かアドバイスがあればよろしくお願いします。

中古は止めとけとか、ここで買った方がいいとか、

268 名前:login:Penguin mailto:sage [2019/11/04(月) 17:12:10.30 ID:Kg02afUk.net]
Windowsで使うつもりで選んでそれにLinux入れればいい



269 名前:login:Penguin mailto:sage [2019/11/04(月) 17:33:48.50 ID:jNyiSmLZ.net]
パスが/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binで
cvt command not found
っておかしくないか

270 名前:login:Penguin [2019/11/04(月) 18:12:06.24 ID:egpz1sjN.net]
MINT18では次のようになってます。
$ which cvt
/usr/bin/cvt

271 名前:login:Penguin mailto:sage [2019/11/04(月) 18:19:34.52 ID:jNyiSmLZ.net]
だめだ
whichでも反応ないし

272 名前:login:Penguin mailto:sage [2019/11/04(月) 18:27:14.08 ID:ikJUqSKJ.net]
>>269
まずは
# find / -name cvt -print
でファイルがあるのか確認したら?

273 名前:login:Penguin mailto:sage [2019/11/04(月) 18:36:00.90 ID:jNyiSmLZ.net]
>>270
すごいそんな方法知らなかったありがとうございます
ちなみに無かった、gftもなかった

274 名前:login:Penguin [2019/11/05(火) 15:54:46.04 ID:Gr6bhY61.net]
マジですごい下らないこと聞くんだけどさ、
cdコマンドで - というディレクトリに移動できる?

275 名前:login:Penguin mailto:sage [2019/11/05(火) 16:11:46.63 ID:pmV8Z/jC.net]
>>272
パーミッションの問題以外でcdで移動できない場所があるとすれば、それは最早ディレクトリではない

276 名前:login:Penguin [2019/11/05(火) 16:33:37.21 ID:vsGGBQcp.net]
>>272
cd -
はbashでは以前のディレクトリへの移動だよ。文字通り
cd ./-
をしたいという趣旨かもしれんけど。

277 名前:login:Penguin [2019/11/05(火) 18:24:00.66 ID:Gr6bhY61.net]
いや、だから - という名前のディレクトリだよw
移動する方法ある?

278 名前:login:Penguin [2019/11/05(火) 18:25:25.57 ID:Gr6bhY61.net]
あ、なるほど、./- とすればいいのか
\- に見えてたwww



279 名前:login:Penguin [2019/11/05(火) 18:53:38.12 ID:atZKaAwk.net]
metacityやmutter等のウィンドウマネージャーで
最小化して行方不明になったウィンドウの戻しかたを教えてください

280 名前:login:Penguin mailto:sage [2019/11/05(火) 19:18:10.63 ID:7lYbAROq.net]
Alt+Tabとかウィンドウコントロール系のショートカットしらんけど

281 名前:login:Penguin [2019/11/06(水) 01:15:33.33 ID:OJUYJxYT.net]
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

282 名前:login:Penguin mailto:sage [2019/11/06(水) 14:23:27.49 ID:vRE0DDPa.net]
1つぐらいゾンビを作っても、大したことないだろw

確かゾンビって、親プロセスが子プロセスを起動したのに、
子プロセスの終了コードを、wait しなかったか何かだろ

それで子が終了したのに、その終了コードをどう扱えばよいのか、OS が分からないから、
ひとまず保存しているだけだろ

大量にゾンビがあるなら、消せば良いけど、
1つのゾンビを消す手間がもったいないw

283 名前:login:Penguin [2019/11/06(水) 15:19:51.12 ID:jx2T9zxW.net]
ゾンビを消すには再起動しか無いのがLinuxの大きな欠点

284 名前:280 mailto:sage [2019/11/06(水) 16:08:03.62 ID:vRE0DDPa.net]
まさか!

いくら何でも、ゾンビ削除ぐらいできるだろ

285 名前:login:Penguin mailto:sage [2019/11/06(水) 18:20:32.60 ID:gb/7N/oB.net]
daemonはchmodは出来ないのですか?

286 名前:login:Penguin mailto:sage [2019/11/06(水) 19:36:41.72 ID:ONQNykaW.net]
徳丸本やろうとしたのですがURLで渡された仮想マシン(32bit)のインポートが上手くいきません。
仕方ないので手持ちの環境(Debian 64bit)で試そうか迷ってるんですが、その場合何か問題起きたりしますかね‥‥?

287 名前:login:Penguin [2019/11/06(水) 20:30:19.23 ID:Ihx/xrKp.net]
しるか、起きてから考えろ

288 名前:login:Penguin mailto:sage [2019/11/06(水) 20:40:06.38 ID:ahbrlrpA.net]
ゾンビは親が自分より先に死んだ子供を成仏させずに現世に縛り付けてる状態やからその親を殺せばゾンビも一緒に神様が成仏させてくれるんやで



289 名前:login:Penguin [2019/11/06(水) 21:58:17.92 ID:uRBGfsS4.net]
そしてゾンビの親のPID調べると大抵1っていう。

290 名前:login:Penguin [2019/11/06(水) 22:08:58.47 ID:Ihx/xrKp.net]
ゾンビの親が1になるのは仕様






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<297KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef