X



トップページLinux
1002コメント370KB

初心者の質問相談にやさしく答えるスレ Part13

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
垢版 |
2020/06/06(土) 19:11:33.61ID:4rD1yaWC
聞き方が悪いから教えない、
とか、「俺は教育的目的から、わざと全部は教えないことにしている」
などという、下記スレに巣食っているロートルはお断り。

初心者に優しく応えようとする気のある人が、
今となってはバカバカしく思えるような質問相談にも優しく答えるスレです。

オススメLinuxディストリビューションは? Part77
https://mao.5ch.net/test/read.cgi/linux/1585131003/

【初心者】Ubuntu Linux 128【本スレ】
https://mao.5ch.net/test/read.cgi/linux/1588073533/


前スレ
初心者の質問相談にやさしく答えるスレ Part12
https://mao.5ch.net/test/read.cgi/linux/1559314687/


 禁止事項
・トリを使おうとしている質問者に対して、そんなトリはやめろとかという、斜め上からのアドバイス
・質問者そっちのけでの昔語り(昔はもっと苦労したもんだ、今の若い者は…)
・知らないのに、使ったことないのに、知ったかぶりでの書き込み
・ググれという誰でも言えそうな忠告
・俺は知ってるけど言わない等といった、実社会での扱われ方からの僻みから来る
・意地悪な言辞
0162login:Penguin
垢版 |
2020/08/05(水) 13:22:34.31ID:vf7q6tQy
で結局synthesize vはどうやって動かすんだ
0163login:Penguin
垢版 |
2020/08/05(水) 13:23:04.50ID:vf7q6tQy
で結局synthesizer vはどうやって起動するんだ
0164login:Penguin
垢版 |
2020/08/05(水) 13:34:04.12ID:iyqdIi9B
>>161
あの無駄な連打は何だったんだ・・・
ちゃんと読んだ方がいいのね
0165login:Penguin
垢版 |
2020/08/07(金) 10:23:05.40ID:aMPlDGEr
文字列の末尾でソートってどうやるんです?
aaa.com/3
bbb.com/sub/2
ccc.com/sub/sub/1
みたいなURLや列が不揃いな場合
0166login:Penguin
垢版 |
2020/08/07(金) 15:13:50.12ID:AQMG5xcY
>>165
単純にバージョンソートってわけには行かないんですね。それなら ...
文字列の最後が「スラッシュ、数字、数字 ...」でないとうまく行かないけれど、一例を上げると、
sed 's|\(.*/\)\([0-9]\+$\)|\2 \1|' sample.txt |sort -n |
sed 's|\([0-9]\+\) \(.*\)|\2\1|'
0167login:Penguin
垢版 |
2020/08/08(土) 02:40:58.66ID:zy7iIu/A
>>165
$ awk -F/ '{print $NF,$0}' foo.txt | sort -n | cut -d" " -f2-
ccc.com/sub/sub/1
bbb.com/sub/2
aaa.com/3

区切り決められて列順序を弄れるawkパイセン便利よ
0168login:Penguin
垢版 |
2020/08/09(日) 10:24:26.59ID:8tokbVse
rsyncについての質問です
hoge1のパソコンからhoge2のパソコンにtestsuruというディレクトリ同期させるために

rsync -auv --delete ssh /home/hoge1/testsuru/ hoge2@aaa.bbb.ccc.ddd:/home/hoge2/testsuru_backup
としたら
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1207) [sender=3.1.3]
とエラー出ますが同期出来てます
これは
1.ファイルの所有者を同期出来ませんよ
2.例えばテキストファイルで、hoge1はMousepadで開くと設定だが、hoge2にはMousepadが入ってない
の時に起こるエラーと考えて良いのですか。不安なので。
0170168
垢版 |
2020/08/09(日) 12:24:49.74ID:8tokbVse
>>169
see previous errors→私の頭では解りませんでした
その後試したこと
rsync -auv --delete -e ssh /home/hoge1/testsuru/ hoge2@aaa.bbb.ccc.ddd:/home/hoge2/testsuru_backup
-eオプションを付ける→エラーなし

rsync -auv --delete /home/hoge1/testsuru/ hoge2@aaa.bbb.ccc.ddd:/home/hoge2/testsuru_backup
sshを記述しない→エラーなし

属性が転送出来ないという意味かとおもてたけど、よくわからないです。も少し調べてみます(_ _)
0171login:Penguin
垢版 |
2020/08/12(水) 12:23:30.26ID:2+p2cf8a
$ mkdir DIR
$ ln -s DIR linkDIR
$ touch DIR/foo.txt
ThunarでうっかりDIRとそのsymlnk間でファイルを移動したら見事に消えたわ
0172login:Penguin
垢版 |
2020/08/14(金) 14:03:08.36ID:nA67uvYS
windows10が入っているSSDとは別のSSDにUbuntu20.04を入れてデュアルブートにしました。BIOSから入る事はできるのですが、起動したときにどちらのOSに入るか選ぶ事ができません。どうすれOS選択画面が出せるでしょうか。マザーボードはASUSです
0173login:Penguin
垢版 |
2020/08/14(金) 16:15:12.61ID:wY9Aa4tw
>>172
ブートローダ(GRUB)を別のSSDに入れてるんだろう
BIOS/UEFIからその別のSSDの起動優先順位を上げて、Linux側から(必要なら設定を書き換えて)update-grub
言ってる意味もわからないレベルなら素直にBIOS/UEFIのブートメニューから毎回選択してください
0174login:Penguin
垢版 |
2020/08/14(金) 17:52:23.29ID:ANhqxYqD
内蔵と外付けで分けてるならその都度bios入らないで起動オプションの方で起動したらgrubで選択するのと大して変わらない
ような…
grubで選択したいならgrub customizerでメニュー設定が楽
0175login:Penguin
垢版 |
2020/08/14(金) 18:11:30.17ID:nA67uvYS
>>174
ありがとうございます。無事にos選択画面は出てきたのですが、windows10が表示されません。BIOSから起動はできます。os選択画面にwindows10を表示させる方法がわかる方はいらっしゃいますか?
0177login:Penguin
垢版 |
2020/08/14(金) 22:31:28.93ID:Fztl53M5
>>176
できました。ありがとうございます
0178login:Penguin
垢版 |
2020/08/15(土) 01:39:33.45ID:0YKJe7cB
CSVを扱うソフトやコマンドってある?
化石PCなんでcalcだとちょっと重くて
0179login:Penguin
垢版 |
2020/08/15(土) 17:09:49.70ID:+rcF9ew+
scpでファイルをコピーするとき、接続先のディレクトリの階層が深いとtabで補完できなくて打ち間違いしたりするのですが
何か良い方法ありませんか?
0180login:Penguin
垢版 |
2020/08/15(土) 22:19:12.16ID:1omuZ/le
vscodeでdockerイメージを読み込んでターミナル開くところまではいきました。ここからコードをうつ画面を出してpythonのプログラミングをしたいのですがよくわかりません。参考になるサイトなどあれば、教えて下さい
0181login:Penguin
垢版 |
2020/08/16(日) 04:41:59.42ID:A/L0te8d
>>178
Ruby で、CSV を扱える。例えば、

require 'csv'

# 引数には、ファイルパスを渡す
file_path = ARGV[ 0 ]

# CSV ファイルを、1行ずつ処理する。列0・1 を表示する
CSV.foreach( file_path ) do |row|
puts "#{ row[ 0 ] } : #{ row[ 1 ] }"
end
0183login:Penguin
垢版 |
2020/08/16(日) 11:00:37.83ID:iGlhrVJN
>>178
何をしたいの? CSV データを表として画面に出力したいだけ?
それなら、util-linux の "column -t" が使えるかもしれない。
新しいバージョンは、かなりいろいろな機能があって、便利になってる。man の新しい翻訳も以下にある。
http://linuxjm.osdn.jp/html/util-linux/man1/column.1.html
0184login:Penguin
垢版 |
2020/08/16(日) 11:10:13.00ID:TD4hVr5s
>>182
ちょっと文章おかしかったですね。
言いたいことは、「tab補完が使えないとき、長いファイルパスを暗記して入力するのが大変」ということでした。
何かいい方法あればと思いまして、質問させていただいた限りです。
0186login:Penguin
垢版 |
2020/08/16(日) 11:28:28.10ID:N2cBcbxy
俺が使ってるcolumnはbsdmainutilsの方だけどこれでutil版も入れたらどうなる?
別パッケージで競合するコマンドなんて考えたことなかったわ
0187login:Penguin
垢版 |
2020/08/16(日) 12:03:00.35ID:TD4hVr5s
>>185
いえ、パスワード認証です
0189login:Penguin
垢版 |
2020/08/16(日) 12:39:25.34ID:TD4hVr5s
>>188
やっぱりその方がいいですよね
今までめんどくさがってましたが、ちゃんと鍵作るようにします
0190183
垢版 |
2020/08/16(日) 15:35:45.56ID:adGVEhIS
>>186
競合するコマンドがいくつもあるだけでなく、ライブラリの競合もあるみたいだし、
私としてはインストールするのは気持ちが悪いので、ソースをもらってきて、
make までして、インストールはせずに、使いたいものだけ alias して使っています。
0191login:Penguin
垢版 |
2020/08/16(日) 21:54:03.88ID:rQ8Z7Aj8
ど素人の見当違いの質問かもしれませんが、是非お答え下さい。
mailbox形式のメールサーバーにおける、/var/spool/mailと〜/mail/mailboxの関係を明確につかめません。
ローカルドメインを宛先とするメールを受信するとまず/var/spool/mailに入り、その後muaでメールを受信すると〜/mail/mailboxにはいるのかなと思っているのですが、合っていますか?
0192login:Penguin
垢版 |
2020/08/17(月) 16:08:12.88ID:Hemm5597
echo "hoge:foo" | base64
というコマンドを打ってから、何のコマンドを打っても(例lsなら)
ls: line 1: hoge:foo: command not found
と出て使えなくなりました
$PATHには変な文字列は入ってませんでした
どこの設定を壊してしまったんでしょうか?
0193login:Penguin
垢版 |
2020/08/21(金) 07:04:30.25ID:s75GFwf1
端末の起動がもたつくようになった
関数は一つのファイルに大量に書くより外部ファイルとしてPATHを通した場所に置く方がいいんだろうか
0196login:Penguin
垢版 |
2020/08/21(金) 18:05:01.59ID:luY/So4i
>>193
別ファイルにしたらそれを読み込む負担が増えるから悪くなることはあっても
良くなることはないような気がする
0197login:Penguin
垢版 |
2020/08/22(土) 06:55:34.79ID:PgqJ2Wof
基本拾った関数やエイリアスは.bash_aliasに書いて巨大な関数やsh以外は~/binに置いてるがこれでいいよな?
0198login:Penguin
垢版 |
2020/08/24(月) 01:17:30.63ID:nC5cdpeF
sedって/パターン/の文字区別無視は無理なんだろうか
iが使えるのはsだけだし
0199login:Penguin
垢版 |
2020/08/24(月) 15:57:17.23ID:H620agDn
質問がよくわからないんだけど、アドレスで正規表現を使う場合に、大文字小文字を区別したくないということ?
info sed によれば、I フラグを使う手があるらしい。こんな具合。
$ sed -n '/foo/Ip' sample.txt
0200login:Penguin
垢版 |
2020/08/25(火) 12:30:01.61ID:YRLaiCXn
コマンドラインで行の移動ってどうやるの
$ seq 3 | CMD
1
3
2
みたいなん
0201login:Penguin
垢版 |
2020/08/25(火) 17:56:32.76ID:doT5kL19
何がしたいのか全然わからんが
なんでもいいからとにかく行の順番を変えたいなら
$ seq 3 | shuf
0203login:Penguin
垢版 |
2020/09/13(日) 12:27:49.46ID:6gdzY17F
ubuntu mate 20.04 +fcitx-mozcのかな入力環境下で「¥|-」キーを別のキーに割り当てたいんですが、半角のときは「¥」、かな入力のときは素直に「ー」を出せるようにするにはどこをいじったらいいでしょうか
xmodmap -e 'keycode 51=yen bar'
とやるだけでは「¥」は半角でそのまま出ますが「ー」はかな入力時にSHIFT+キーじゃないと出ません
「ー」をSHIFTなしで一回で出せるようにしたいのです
mozcの方にかなテーブルがどこかにあるのかと思って探しましたがわかりませんでした
0204login:Penguin
垢版 |
2020/09/13(日) 13:47:42.25ID:cXPBz3AN
所有者がルートのファイルをsudo rm で削除できるのに
sudo cat ルート所有のファイル > 新規ファイル
ってやるとできないけどなぜなんですか?
0205login:Penguin
垢版 |
2020/09/13(日) 13:52:19.03ID:cXPBz3AN
>>204
権限がありませんって出る
あとコピーはできる
0206login:Penguin
垢版 |
2020/09/13(日) 15:28:05.63ID:a1MBu9fp
>>204
> sudo cat ルート所有のファイル > 新規ファイル
sudoの効力は「cat ルート所有のファイル」まで
「>」以降はsudoする前のシェルがやる
「echo hoge >新規ファイル」ができないのと同じ
0207login:Penguin
垢版 |
2020/09/13(日) 16:58:26.29ID:1AtXHc9n
>>204
リダイレクトやパイプはsudo前のシェルが自分の権限で処理するので
sudo sh -c "cat example.txt > output.txt"としてroot権限のシェルでリダイレクトを処理させるか
sudo cat example.txt | sudo tee output.txtのようにteeで代用する
0208204
垢版 |
2020/09/14(月) 19:29:30.47ID:4fN+mfx9
アリナックス
0209login:Penguin
垢版 |
2020/09/15(火) 21:41:21.77ID:64LbtmSf
vimでreadonlyのファイルを強制保存する時もtee使うんだよな
sudo付け忘れた時とか
0211login:Penguin
垢版 |
2020/09/21(月) 17:00:42.69ID:oPZtckzh
よっぽどのことがない限り入る
多くの場合はグラホがうまく使えないとかあるけど
でもここで聞くレベルじゃISO用意できなかったりするんじゃないの
ちなみにいまどき無線LANが使えないってないわ
これくらいのレベルならヤフオクで5000円くらいだからそっちで選べばいいと思う
0212login:Penguin
垢版 |
2020/09/21(月) 18:54:09.41ID:iILBrJu/
複数行単位で逆順ってどうやる?
$ seq 4 | CMD
3
4
1
2
こんなん
0213login:Penguin
垢版 |
2020/09/21(月) 21:34:27.50ID:6Q0Z/Lw5
seq 10 |tac |sed -n 'h;n;p;g;p'
0214login:Penguin
垢版 |
2020/09/21(月) 21:39:44.93ID:6Q0Z/Lw5
sed 版は行が偶数である必要があるので、基数でも構わないように awk 版。
seq 11 |tac |awk 'NR % 2 != 0 {line = $0; next}; {print $0"\n"line} END{if (NR % 2 != 0) print $0}'
0215login:Penguin
垢版 |
2020/09/21(月) 23:40:03.09ID:EG8dcfEz
xargs で、行列変換できるのでは?

a
b
c

a b c
0216login:Penguin
垢版 |
2020/09/22(火) 02:18:30.59ID:eMduSs75
>>212
例は2行単位のもの出しているけど、2行単位以外の複数行(3行とか4行との)単位でもやりたいのか?
0217login:Penguin
垢版 |
2020/09/22(火) 02:22:13.86ID:eMduSs75
か、が抜けていた
(3行とか4行とかの)単位
0218login:Penguin
垢版 |
2020/09/22(火) 10:31:31.08ID:9d2x2CDm
sedの基本は理解したが肝心の処理の流れが分からんわ
パターンスペースだのホールドスペースだの
処理過程の行を表示する方法はないのかしら
0219login:Penguin
垢版 |
2020/09/22(火) 16:42:40.23ID:iBWA2dV2
>>212
長くなれば配列使ってループで回す

seq 4 | xargs | awk '{print $3 "\n" $4 "\n" $1 "\n" $2}'
0220login:Penguin
垢版 |
2020/09/22(火) 16:52:55.34ID:6eqRg9Ey
自分ならスクリプト書いてwhile readしちゃうけどなあ
0221login:Penguin
垢版 |
2020/09/22(火) 16:57:36.95ID:6eqRg9Ey
ちなみにスクリプト書くのがえらいとは思ってない
仕事でシェル書ける?って聞かれたことあるけど当然あると答えるんだけど
パイプを使った簡単な方法を思いつかないとメンテが大変なスクリプトを残すことになる
まあ1行で書かれた難解なコマンドを解読するのも面倒なんだけどw
0222login:Penguin
垢版 |
2020/09/22(火) 17:03:58.63ID:6eqRg9Ey
>>218
自分が使ったわけではないけどsedsedつーのがあるらしい

自分は処理を想定して置換パターン考えるけど
思ってるように置換されないことはよくあって超テストしまくる
今はシェルスクリプト書くこと少ないんだけど
あーこれ過去に悩んだわってのは結構多く解決したあとに思い出す
0223login:Penguin
垢版 |
2020/09/22(火) 19:23:31.38ID:fv1Daqer
>>221
ワンライナーの方が保守性が低いだろうに
0224login:Penguin
垢版 |
2020/09/22(火) 22:32:14.43ID:3m3ag9H4
やっていることが複雑なプログラムは
結局何で書いても保守性は上がらない
0226login:Penguin
垢版 |
2020/09/23(水) 10:10:57.82ID:Rsl28+Yj
パイソンかシーシャープでいいよ
0227login:Penguin
垢版 |
2020/09/23(水) 12:05:25.50ID:n3ZO4tu1
>>226
シャープは台湾資本のメーカーだから安心だな
0228login:Penguin
垢版 |
2020/09/23(水) 13:59:53.60ID:qG2KcxsT
久々に滑り倒してるギャグというものを見た
0230login:Penguin
垢版 |
2020/09/25(金) 00:28:35.86ID:RsERggiG
VARが複数行の場合はどうすれば?
$ VAR=`seq 1`; seq 2 | sed "s/$VAR/@&/"
@1
2

$ VAR=`seq 2`; seq 3 | sed "s/$VAR/@&/"
sed: -e expression #1, char 3: `s' コマンドが終了していません
0231login:Penguin
垢版 |
2020/09/25(金) 08:53:13.01ID:0C7N0fKH
VAR=`seq 2`; seq 3 | perl -0777 -pe "s/($VAR)/\@\$1/"

sed でやるなら sed の文法に合わせる必要がある。
すなわち、改行をエスケープシーケンスに置き換える。
それをした上でも sed でやるには N や t を使う必要があるだろう。
そして多分、本当にやりたいことはそれではないだろう。
なにをしたいのか正直に書いたほうがいいと思う。
0232login:Penguin
垢版 |
2020/09/25(金) 09:45:53.53ID:RsERggiG
URLのメモがあって特定のURLの行頭に#を入れたいだけなんだ
実際のVARには対象行の文字列が入ってる

sed '
/aaa/s/^/#/
/bbb/s/^/#/
' foo.txt
これを大量に書かずに済む方法はないかってこと
0233login:Penguin
垢版 |
2020/09/25(金) 10:01:42.93ID:rcXzyqi8
hoge = PARAM1:VALUE1-0:VALUE1-1;VALUE1-2

こういうあたいを、最初の:区切り文字にするっていう方法ありますか?

具体的には、
hoge = PARAM1 と VALUE1-0:VALUE1-1;VALUE1-2
に分けるのが望みです。

関係あるかわかりませんが、実際には区切り文字の:は半角です、
半角コロンは視認性がすんごい悪かったので、視認性のため全角にしております。

よろしくお願いいたします。
0234login:Penguin
垢版 |
2020/09/25(金) 10:56:17.29ID:Zcjfxf/5
>>232
改行されたURLのみのリストならこれで大丈夫なはず

xargs -I{} sed '/{}/s/^/#/' < url_list.txt
0235login:Penguin
垢版 |
2020/09/25(金) 12:35:50.14ID:jeHM1ZGk
>>233
cut -d ':' -f 1 と
cut -d ':' -f 2- でできるよ
0236login:Penguin
垢版 |
2020/09/25(金) 12:47:35.21ID:rcXzyqi8
>>235
ありがとうございます。
N番目から最後までってのがあるんですね。
勉強になりました。
0237login:Penguin
垢版 |
2020/09/25(金) 15:17:19.28ID:Zcjfxf/5
>>234
これじゃ動かんわ
こっち

sed 's|/|\\\\/|g' url_pattern_list |xargs -I{} sed '/{}/s/^/#/' url_list
0238login:Penguin
垢版 |
2020/09/25(金) 21:27:03.27ID:0C7N0fKH
URL には . も含まれてると思うのだが、エスケープしなくていいのだろうか。
行全体のマッチじゃなくていいのだろうか。
パターンの数だけ sed を起動するよりもスクリプトファイルを作って
それを実行する方が効率的でデバッグもしやすいのではなかろうか。
当人が判断すればいいことだが、ちょっと気になった。
0239login:Penguin
垢版 |
2020/09/25(金) 21:50:16.86ID:3o+e4nzm
>>238
>>230の条件が
複数のマークする対象が変数に入っている、絶対にsedは使う、1ライナー
なんだよ。
Linuxユーザーは超こだわりを持つ奴がおおいからな
(なんで、そんなにこだわる? 基地外かよな奴が多いからな)
0240login:Penguin
垢版 |
2020/09/26(土) 08:36:11.50ID:shOcNvTA
Debian でディスクレスシステムもどき (USBメモリでBIOSモード起動、NASへiSCSIで接続してルートマウント) を作ったんですが、
シャットダウンや再起動しようとすると NIC が落とされるのが早いのか、処理がうまくいかないようです。
(シャットダウンシーケンス中なのに waiting for ifup for enp1s1 ( 1 min 30 sec ) ... みたいな感じ)

数分待てば再起動できるけど、どうにも時間がかかりすぎるのでなんとかしたいです。

たぶん NIC を落とさないようにするのかな、と思いつつも、どう検索したらいいのか分からずここに来ました。
分かる方、よろしくお願いします。
0241login:Penguin
垢版 |
2020/09/26(土) 14:40:57.61ID:9Br3HoRi
>>238
悪いこと言わないからここのスレタイを一度読んでみ?
0242login:Penguin
垢版 |
2020/10/03(土) 20:59:13.51ID:5AxqDLig
https://qiita.com/dankogai/items/ffc4f31a8a949bd7ec01

上記のサイトをみながらzfsについて勉強・検証しているのですが

zfs snapshot tank@20201003
このコマンドは通るのですが、

上記のコマンドを打たずに以下のコマンドを打つと「WARNING:
could not send tank@20201003: does not exist」と表示されます。
zfs snapshot tank@20201003 > tank@20201003.zfs

上記ページをみても書いていなかったので、シリアライズする際は一度スナップショットを取ってからしかできないという理解で間違いないですか?
0243login:Penguin
垢版 |
2020/10/04(日) 10:28:17.59ID:xw4Et/C8
>>242
何でその本人に聞かないの?
0246login:Penguin
垢版 |
2020/10/08(木) 16:02:18.69ID:PdmvQUun
aa.html
foo
bb.html
cc.html
この中で連続するhtmlをsedで全消しするにはどうすれば?
この例だと結果はaa.htmlとfooの2行ですが実際の行数は不定です
あくまで特定の文字列を含む行が連続したら消すってことです
0248login:Penguin
垢版 |
2020/10/10(土) 00:33:57.51ID:S4v9YsRk
>>247
わざわざsedを指定しているってことは、
sedでやることが一番重要なことなんだよ。
(sedでやっていないのはイラネよーーーだろ)
おかげで、高脳案件になってしまっているからな。
0249login:Penguin
垢版 |
2020/10/10(土) 08:23:37.50ID:ol8hA1Iw
>>246
最初から全部やりたいこと書けよ
誰かが答えたら行末じゃないとか言い出すんだろ
0250login:Penguin
垢版 |
2020/10/10(土) 08:51:21.21ID:aM5GunJR
sed で書いてみた。長いよ。

#!/bin/sed -nf

/\.html/! {
:print
p
b end
}
/\.html/ { # 文字列 html 1 行目
$ { # html のある 1 行目が最終行なら表示する
p
b end
}
h
n
/\.html/! {
H
g
b print
}
/\.html/ { # 文字列 html 2 行目、4, 6 ... 行目
:loop
n
/\.html/! b print
/\.html/ b loop # 文字列 html 3 行目、5, 7 ... 行目
} # 2 個目からのループの終わり
} # 1 個目からのループ終わり
:end
0251login:Penguin
垢版 |
2020/10/10(土) 18:52:59.64ID:2UVd0pTv
sedのverboseモードってないだろうか
習熟できてないからなんでこんな結果になるんだってのが多くて
結果が出ない時もあるし
0252login:Penguin
垢版 |
2020/10/11(日) 01:27:25.48ID:t5YC9Ppd
>>250
rubyの人の書き方ににているが、ひょっとして,rubyの人?
なんか、俺よりずっとsedに詳しい感じだな。
rubyできる人なら、それなりにシェルスクリプトができても不思議ではないだろうからな。

>>251
頭のいい人はsed,awk,正規表現とかをすげーなと言う感じで活用するんだろうが、
低脳の俺なんかは、どう書いたらいいんだ、なんでこんな結果になるんだ
だからな
0253login:Penguin
垢版 |
2020/10/11(日) 07:47:07.40ID:B4RTOxqM
Ruby で作った。ただし、ファイルを2回読んでるけど

TEXT = <<'EOT'
aa.html
foo
bb.html
cc.html
EOT

# 文字列を含む行番号を、配列に入れる
line_numbers = TEXT.each_line.with_object( [ ] ).with_index( 1 ) do | ( line, ary ), line_num | # 各行・蓄積変数・行番号
ary.push( line_num ) if line.include? "html" # 含む
end

# 上の配列から、連続している行番号だけを残す。2次元配列を平坦化する
consecutive_numbers = line_numbers.chunk_while{ |prev, nxt| prev + 1 == nxt }.
select { |ary| ary.length >= 2 }.flatten!

unless consecutive_numbers
puts "連続している行はありません!"
return # 処理なし
end

results = TEXT.each_line.with_object( [ ] ).with_index( 1 ) do | ( line, ary ), line_num | # 各行・蓄積変数・行番号
if line_num == consecutive_numbers[ 0 ]
consecutive_numbers.shift # 先頭の要素を取り除く
else
ary.push( line )
end
end

print results.join
0254253
垢版 |
2020/10/11(日) 07:54:24.24ID:B4RTOxqM
シェルスクリプト、sed, awk は、
覚えることが多くて、ややこしくて出来ない

漏れは可読性・保守性を優先してるから、Ruby しか書けない。
基本、Rubyだと英語のように読めるから
0255login:Penguin
垢版 |
2020/10/11(日) 09:48:51.56ID:acjqXegq
plamo linux です
mdadm: No devices listed in conf file were found.
とメッセージが出てブートしなくなりました
昨日までちゃんとブートしていました
元に戻るにはどうすればいいんでしょうか
0256250
垢版 |
2020/10/11(日) 10:04:50.77ID:UXAiapS7
>>252
こういうのは、パズルを解く感じで面白がっています (実用的だとは思わない)。
sed は、info sed をざっと読んだだけで、よく知りません。
でも、info sed はお読みになると良いと思います。
0257login:Penguin
垢版 |
2020/10/11(日) 12:14:00.20ID:+Qf2x9qI
sed/awkなんてvi/emacsと同じで黎明期に先行者利益で広がっただけで今じゃ棺桶に片足突っ込んでるようなジジイがマウント取るために無理やり活かされてるゾンビみたいなもんだから今の時代そんなもん使わんでいいよ
当時その場の思いつきで作られた合理性の欠片もないオレオレインターフェースやナメクジレベルの鈍足パフォーマンスでメリットなんかないしググりゃちゃんと直感的なインターフェースにマトモなパフォーマンスのツールが他にいくらでもあるから
0258login:Penguin
垢版 |
2020/10/11(日) 12:26:24.61ID:pceQnLh9
>>255
どうもすみません
何度もやり直して、上手くいかず
しばらく放置して電源を入れると
上手くブートしました
失礼
0259login:Penguin
垢版 |
2020/10/11(日) 13:09:39.93ID:g1tbO2CC
>>257
じゃあその方法で解決する方法を紹介してやりゃいいのにww
0260login:Penguin
垢版 |
2020/10/12(月) 15:35:53.02ID:jJLnsDPk
findって./を付けずに出力できないの?
0261login:Penguin
垢版 |
2020/10/12(月) 16:47:19.92ID:rHVpQ/84
>>260
ググれば?

Linuxでフルパスからファイル名のみ取り出す方法 | 俺的備忘録

そもそも、変換元のPATHの出力をfindで行っているのであれば、「-printf」でファイル名だけを指定すればよい。

find ./ -printf "%f\n"

拡張子削除については、awkやsedを用いるとよいだろう。
■ このスレッドは過去ログ倉庫に格納されています