X



トップページLinux
1002コメント337KB
くだらねえ質問はここに書き込め!Part 230
レス数が1000を超えています。これ以上書き込みはできません。
0001login:Penguin
垢版 |
2018/01/08(月) 12:45:55.59ID:Jpd4bxnf
まずは2ch-Linux-Beginnersを読みましょう。
いろいろとまとめられているので(・∀・)イイ!!
http://www12.atwiki.jp/linux2ch/

読んでも解決しなかったら、質問を書きこむ前にここを読もう。
http://www12.atwiki.jp/linux2ch/?About
質問に対して答えてもらったら、お礼よりも、結果報告。

過去ログ検索
Google検索 http://www.google.co.jp/search?q=site:2ch.net/test/read.cgi/linux/

関連スレッドは、誰か頼む

※前スレ
くだらねえ質問はここに書き込め!Part 229
http://mao.5ch.net/test/read.cgi/linux/1505217859/
0952login:Penguin
垢版 |
2018/04/25(水) 06:19:49.27ID:GeSpmBxS
違う。それだとWindows 10がタッチパネルへも
対応しているのに、成功したことの理由にならない

失敗の原因は急に今までと大きく変えたこと
互換性というのはそれほど重要

Windows 10はゆっくり変化させる方向に変わったから
実はWindows 8よりもタッチパネルへ対応が進んでいるのだが
受け入れられた。
0953login:Penguin
垢版 |
2018/04/25(水) 06:51:10.29ID:0vrea36H
ゆっくり変化した筈なのにWindows8では対応したキヤノン複合機が、
Windows10には対応しなかったのは何故だろうか?
0954login:Penguin
垢版 |
2018/04/25(水) 07:36:37.83ID:5ToKZsdp
>>943
>>945
>>946

940です。できました。有難う御座います。

変換元が複数あり、
半角スペース、全て全角スペース、改行コードを削除の場合と
半角スペース、行頭の全角スペース、改行コード
改行コードのみの場合があるみたいなので一から考え直します。
trも最新版を入れるのメンドイので、perlかrubyに逃げたい。(^_^;)


CONTENTS - http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html
これの入り口ってどこですか?
http://pubs.opengroup.org/onlinepubs/9699919799/mindex.html
The Base Specifications Issue 7
ここから直に入れないみたいです。
0955login:Penguin
垢版 |
2018/04/25(水) 09:33:47.60ID:5ToKZsdp
>>943
>>945
>>946

940です。954の結果は古いtrです。

以前ダウンロードだけしていたcoreutils 8.29を入れました。
cat ./file.txt | tr -d '[:space:]'
マルチバイト文字に対応していませんでした。
全角空白が残って問題です。

man trして、'[:space:]' に改行が含まれるのかどうか怪しいのと
上2つの問題があるので、trは諦めます。

すいません。あらためて質問しますが、sedで文字削除したいです。
条件をorするのは -eだけですか?

sedで改行を消すのに向いてない?
0956login:Penguin
垢版 |
2018/04/25(水) 12:39:11.90ID:5ToKZsdp
上2つのコメントで>>942さんへのお礼を忘れていました。有難う御座います。
0957943
垢版 |
2018/04/25(水) 13:24:44.76ID:ROszBFGV
tr の man でも [:space:] は "all horizontal or vertical whitespace"
ですから、改行も含まれます。

sed は改行を消すのに向いてないみたいですね (-z オプションを付けたときを除く)。
一行づつ読み込むとき改行を削除して、出力するときに改行を付け直しているんじゃ
ないでしょうか。

それで、"sed -z" を考えたのです。入力行の長さに制限があればまずいのですが、
ほかの系統の sed はいざ知らず、GNU sed は、info sed によれば、入力行の
長さに制限がないようです。まあ、ちょっと怖いですけれど。
  ... GNU 'sed' has no built-in limit on line length;
  as long as it can 'malloc()' more (virtual) memory, you can
  feed or construct lines as long as you like.

空白や改行以外の文字も同時に削除したいということですか。
仮に「い」と「お」も削除したいのなら、こんな手もありますけれど。
$ echo -e "AAA BBB\nあいうえお" |sed -z 's/[[:space:]いお]//g'
0958login:Penguin
垢版 |
2018/04/25(水) 15:23:46.62ID:qo7tTkeP
>>955
あのさ,trのマニュアル読んだ?
もし「確実に」「半角スペースと改行を除去したい」のなら
$ cat ./file.txt | tr -d ' \n'
↑これで大丈夫だと思う。
0959943
垢版 |
2018/04/25(水) 15:30:24.25ID:yR2JSAZB
ついでchに言うと、こういうのもあります。
$ echo -e "AAA BBB\nあいうえお CCC" |sed -z 's/[[:space:]]\|い\|お//g'
AAABBBあうえCCC

もっと詳しいことは、"info sed" を実行して、「sed regular expressions」を
見てくださいですね。
0960login:Penguin
垢版 |
2018/04/25(水) 17:46:27.87ID:+jUplgYl
初心者用. シェルスクリプト講座
>http://chianti.ucsd.edu/~rsaito/ENTRY1/WEB_RS3/PDF/JPN/Texts/SHELL2.pdf

で勉強してるんだけど、頭が悪くて解らん。
>課 題:70+72+74+76+.......+198+200=?を while 文を使って計算するスクリプトを書きま
しょう。

どうしたら良いのか解らん、教えて下さい。
0961login:Penguin
垢版 |
2018/04/25(水) 19:38:02.07ID:KsffIx5U
>>945
Linux系の tr [:space:] は意図通りに機能しない模様です。
BSD・Solaris は OK
0962login:Penguin
垢版 |
2018/04/25(水) 20:04:17.60ID:02OxhOfQ
>>960
スプリットして数値をexpr でけいさんかな?
0963login:Penguin
垢版 |
2018/04/25(水) 20:24:49.79ID:5ToKZsdp
>>957
>tr の man でも [:space:] は "all horizontal or vertical whitespace"
>ですから、改行も含まれます。

trのmanのその箇所は読んだのですが、
"all horizontal or vertical whitespace"を読んで改行が含まれるとは思いませんでした。

sedはやってみます。有難う御座います。
0964login:Penguin
垢版 |
2018/04/25(水) 20:28:38.09ID:+jUplgYl
>>962
そうです、
その前の課題は、
課 題:上の例にならって 200 から 10 まで 5 つずつカウントダウンするスクリプトを書き
ましょう(200,195,190,185,.....,20,15,10 のように数える)。
これは、
count=200
while [ ${count} -gt 5 ]
do
echo ${count}
count=`expr ${count} '-' 5`
done
として簡単にわかりましたが、
次の課題は、
70+72+74+76+.......+198+200=?を while 文を使って計算するスクリプトを、で、
どうしたら良いのか、
count=70
count1=0
while [ ${count} -le 198 ]
do
count1=`expr ${count} + 2`
count2=`expr ${count} + ${count1}`
echo ${count}・・・・
とやってみたんですが、ぜんぜんさっぱりで、解りません。
教えて下さい。
0965login:Penguin
垢版 |
2018/04/25(水) 20:34:03.13ID:FJSROH4M
頭が沸騰しそうだよ

A=70
B=70

while 文
A=`expr $A + 2`
# 200まで値を2増やす

B=`expr $B + $A`
# 70 + 72 = 142 、142 + 74 = 216

echo "合計 = $B"
# 合計 = 8910
0966login:Penguin
垢版 |
2018/04/25(水) 20:37:48.85ID:5ToKZsdp
>>959
>\|い\|お
バックスラッシュ+半角|でいいのですね。シェルスクリプトでいけそうで嬉しい。

>>958

>あのさ,trのマニュアル読んだ?

はい。"all horizontal or vertical whitespace"を読んで改行が含まれるとは思いませんでした。
all horizontal って全ての改行なのかな?>誰か。
そんな英語覚えがなくて(^_^;)

>もし「確実に」「半角スペースと改行を除去したい」のなら
>$ cat ./file.txt | tr -d ' \n'

新しいtrで、半角スペースと改行の削除が出来ました。有難う御座います。
>>940のとおり、全角スペースが含まれます。
全角スペース削除はダメらしく、マルチバイトの問題は残り出力が文字化けします。
0967login:Penguin
垢版 |
2018/04/25(水) 21:11:09.63ID:+jUplgYl
>>965
ありがとうございました。
A=70
B=70
while [ $A -le 198 ]
do
A=`expr $A + 2`
B=`expr $B + $A`
done
echo "合計 = $B"

${A} としなくても良いんだ。
echo "$A"
echo "$B"
を入れて工程を見ることにも成功しました。
0968login:Penguin
垢版 |
2018/04/25(水) 21:14:26.37ID:Ua2aKTlg
seq 72 2 200 | (b=70;while read a;do b="$b + $a";done;expr $b)
0969login:Penguin
垢版 |
2018/04/25(水) 21:33:42.70ID:+jUplgYl
>>968
わぉ〜
seqコマンドで調べました。
次回使ってみます。
0970login:Penguin
垢版 |
2018/04/26(木) 04:42:12.64ID:3NL8c/Oo
>>954

半角スペース、全て全角スペース、改行コード 削除
sed -e "s/[[:space:]]//g" | tr -d "\n"
sed -z -e "s/[[:space:]]//g"

半角スペース、行頭の全角スペース、改行コード 削除
sed -e "s/^[[:space:]]//g" | tr -d "\040\n"
sed -e "s/\x20\|^[[:space:]]//g" | tr -d "\n"
sed -e "s/\x20\|^[[:space:]]//g" | sed -z -e "s/\n//g"

改行コードのみ 削除
tr -d "\n"
sed -z -e "s/\n//g"
0971login:Penguin
垢版 |
2018/04/26(木) 05:15:08.22ID:3NL8c/Oo
↑ *が抜けてました
半角スペース、行頭の全角スペース、改行コード 削除
sed -e "s/^[[:space:]]*//g" | tr -d "\040\n"
sed -e "s/\x20\|^[[:space:]]*//g" | tr -d "\n"
sed -e "s/\x20\|^[[:space:]]*//g" | sed -z -e "s/\n//g"
0972login:Penguin
垢版 |
2018/04/26(木) 13:59:42.24ID:NaGJ9Oie
Ruby で作った

70.step(200, 2).inject(0) { |num, sum| sum + num }
#=> 8,910

from.step(to, step)
inject(初期値)は、蓄積変数(sum)に畳み込む
0973login:Penguin
垢版 |
2018/04/26(木) 23:57:25.08ID:OG8CKeUb
openSUSEのスレどこいった?
0974login:Penguin
垢版 |
2018/04/27(金) 00:19:43.16ID:8Ky6CvHB
君のような勘の(ry

2017年7月が最終書き込みのスレも残ってるのに
12月に書き込みがあったSUSE Linux Part 31がなぜか過去ログ送りされてるな
0975login:Penguin
垢版 |
2018/04/27(金) 00:24:16.10ID:X7qgciJ6
>>973
需要がないから逝った、それだけでしょ
0976login:Penguin
垢版 |
2018/04/27(金) 02:27:01.73ID:EuLxQ4nL
sambaが外部から不正アクセスされた場合、デフォルトの設定でアクセス元のIPアドレスってログに残る?
そもそもsambaが外部アクセスされる危険性ってどれくらいある?
パスワード認証で、IPアドレスの制限はしていなかったのだけど
0977login:Penguin
垢版 |
2018/04/27(金) 03:11:58.53ID:n3ptY0Bb
>>976デフォルトだとsambaはローカルネットワークの中ではパスワードだけなので、ルーター突破されたら普通に見える。
「ルーター突破されたら」が一番の肝なので、ハッキングって怖いよね〜ぐらいの話しかできんな。
0979login:Penguin
垢版 |
2018/04/27(金) 08:53:00.03ID:5Msqo0oh
改行といえばvimで\nと\rが面倒臭いことになってるの思い出した
あれ何だったんだろうな
0980login:Penguin
垢版 |
2018/04/27(金) 10:40:12.70ID:qUD1DBTq
強引なのは承知の上ですが、大筋の理解をしたいです。
クロスプラットフォームなツールキットとして、
Tk, Qt, Electronなどがあり、この順に高度なことができると考えていいでしょうか?
0981login:Penguin
垢版 |
2018/04/27(金) 10:58:44.42ID:OhRvdSkm
その中で一番色々できるのはQtじゃないかな。
GUI以外でも色々できるし、バインディングも豊富だし。
0982login:Penguin
垢版 |
2018/04/27(金) 11:11:19.17ID:b86ZiFbz
web アプリなら、Rails

デスクトップアプリなら、Electron
0983972
垢版 |
2018/04/27(金) 11:17:52.52ID:b86ZiFbz
Ruby で、もっと簡単に書けた

引数で、加算演算子を渡すだけでOK。
これで自動的に、蓄積変数に足されていく

>70.step(200, 2).inject(0) { |num, sum| sum + num }
#=> 8,910

70.step(200, 2).inject(:+)
0984login:Penguin
垢版 |
2018/04/27(金) 11:33:34.83ID:1uHUjxmv
>>970
ありがとう。助かります。今のところsedでなんとかしようと考えてます。
0985login:Penguin
垢版 |
2018/04/27(金) 11:35:23.82ID:VunckSKh
>>983
馬鹿なのか変態なのか知らないけど独り言は別のところにどうぞ
0986login:Penguin
垢版 |
2018/04/27(金) 12:21:18.00ID:bxC4EXTv
>>979
> 改行といえばvimで\nと\rが面倒臭いことになってる
って何。
0988login:Penguin
垢版 |
2018/04/27(金) 16:56:57.11ID:qUD1DBTq
>>960
http://chianti.ucsd.edu/~rsaito/ENTRY1/WEB_RS3/PDF/JPN/Texts/SHELL2.pdf
↑これ,どーでもいい細かいことなんだが引用符が二種類なのが気になるな。
初心者は「echo “Hello”」と入力してしまうんじゃないか?
初心者向けを銘打つならば「echo "hello"」って書いてあげるべき。
0989login:Penguin
垢版 |
2018/04/27(金) 16:57:50.17ID:qUD1DBTq
すまんsage忘れ。
あと,「べき」というか,ちょっと不親切だなという程度。
ああいう啓蒙書的な文書が増えるのは大歓迎。
0990login:Penguin
垢版 |
2018/04/27(金) 18:28:04.17ID:2Rsui2FE
>>986
置き換えや検索で\nは行末にマッチするんだけど
置き換え後の文字に\nを指定すると\0に化ける
\rに置き換えると\nになる
0991login:Penguin
垢版 |
2018/04/27(金) 18:30:11.21ID:2Rsui2FE
ちょっと前に5chに書き込むとバックスラッシュが円記号に化けるって話あったけど
今は普通に書き込めてるね
あの後に直してくれたのかな
0992login:Penguin
垢版 |
2018/04/27(金) 21:18:45.50ID:RUPodUMH
>>990
へえ。検索に "\n" は使ったことがないので知らんかったよ。
:s/$/abcd/ や :s/abcd/^M/ としかせんもな。。。
0993login:Penguin
垢版 |
2018/04/27(金) 21:18:46.16ID:j/wNNBaG
>>979
憶測ですが、ラインエディタの頃の思想を受け継ぎつつ改変してきたからではないでしょうか。
\n はいにしえ的にデータ入力の終端とみなし \0 に
\r は復帰動作(行頭に戻る)だけではスクリーンエディタ的に意味が無いので復帰を含めた改行動作の \n に
みたいな。
0995login:Penguin
垢版 |
2018/04/27(金) 21:25:49.43ID:ysUX/mUe
>>968
echo $(($(seq -s+ 70 2 200)))


whileなんていらねぇよ?
0996login:Penguin
垢版 |
2018/04/27(金) 21:29:17.59ID:ysUX/mUe
while使ったとしてもコレかな

seq 70 2 200 | (while read a;do ((b+=a));done; echo $b)
0998login:Penguin
垢版 |
2018/04/27(金) 21:39:53.91ID:ysUX/mUe
これがシェルスクリプトとRubyそれぞれで最小かな?

seq -s+ 70 2 200 | bc
70.step(200, 2).sum
0999login:Penguin
垢版 |
2018/04/27(金) 21:42:12.64ID:ysUX/mUe
よっしゃー両者19文字
シェルスクリプトでRubyに追いついたで!

seq -s+ 70 2 200|bc
70.step(200, 2).sum
1000login:Penguin
垢版 |
2018/04/27(金) 21:42:42.31ID:ysUX/mUe
あ、Rubyは18文字か

70.step(200,2).sum
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 109日 8時間 56分 47秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況