違う。それだとWindows 10がタッチパネルへも
対応しているのに、成功したことの理由にならない
失敗の原因は急に今までと大きく変えたこと
互換性というのはそれほど重要
Windows 10はゆっくり変化させる方向に変わったから
実はWindows 8よりもタッチパネルへ対応が進んでいるのだが
受け入れられた。
ゆっくり変化した筈なのにWindows8では対応したキヤノン複合機が、
Windows10には対応しなかったのは何故だろうか?
>>943
>>945
>>946
940です。954の結果は古いtrです。
以前ダウンロードだけしていたcoreutils 8.29を入れました。
cat ./file.txt | tr -d '[:space:]'
マルチバイト文字に対応していませんでした。
全角空白が残って問題です。
man trして、'[:space:]' に改行が含まれるのかどうか怪しいのと
上2つの問題があるので、trは諦めます。
すいません。あらためて質問しますが、sedで文字削除したいです。
条件をorするのは -eだけですか?
sedで改行を消すのに向いてない? 上2つのコメントで>>942さんへのお礼を忘れていました。有難う御座います。 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'
>>955
あのさ,trのマニュアル読んだ?
もし「確実に」「半角スペースと改行を除去したい」のなら
$ cat ./file.txt | tr -d ' \n'
↑これで大丈夫だと思う。 ついでchに言うと、こういうのもあります。
$ echo -e "AAA BBB\nあいうえお CCC" |sed -z 's/[[:space:]]\|い\|お//g'
AAABBBあうえCCC
もっと詳しいことは、"info sed" を実行して、「sed regular expressions」を
見てくださいですね。
0960login:Penguin2018/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 文を使って計算するスクリプトを書きま
しょう。
どうしたら良いのか解らん、教えて下さい。 >>945
Linux系の tr [:space:] は意図通りに機能しない模様です。
BSD・Solaris は OK >>960
スプリットして数値をexpr でけいさんかな? >>957
>tr の man でも [:space:] は "all horizontal or vertical whitespace"
>ですから、改行も含まれます。
trのmanのその箇所は読んだのですが、
"all horizontal or vertical whitespace"を読んで改行が含まれるとは思いませんでした。
sedはやってみます。有難う御座います。 0964login:Penguin2018/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}・・・・
とやってみたんですが、ぜんぜんさっぱりで、解りません。
教えて下さい。 頭が沸騰しそうだよ
A=70
B=70
while 文
A=`expr $A + 2`
# 200まで値を2増やす
B=`expr $B + $A`
# 70 + 72 = 142 、142 + 74 = 216
echo "合計 = $B"
# 合計 = 8910
>>959
>\|い\|お
バックスラッシュ+半角|でいいのですね。シェルスクリプトでいけそうで嬉しい。
>>958
>あのさ,trのマニュアル読んだ?
はい。"all horizontal or vertical whitespace"を読んで改行が含まれるとは思いませんでした。
all horizontal って全ての改行なのかな?>誰か。
そんな英語覚えがなくて(^_^;)
>もし「確実に」「半角スペースと改行を除去したい」のなら
>$ cat ./file.txt | tr -d ' \n'
新しいtrで、半角スペースと改行の削除が出来ました。有難う御座います。
>>940のとおり、全角スペースが含まれます。
全角スペース削除はダメらしく、マルチバイトの問題は残り出力が文字化けします。 0967login:Penguin2018/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"
を入れて工程を見ることにも成功しました。 seq 72 2 200 | (b=70;while read a;do b="$b + $a";done;expr $b)
>>968
わぉ〜
seqコマンドで調べました。
次回使ってみます。 >>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" ↑ *が抜けてました
半角スペース、行頭の全角スペース、改行コード 削除
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"
Ruby で作った
70.step(200, 2).inject(0) { |num, sum| sum + num }
#=> 8,910
from.step(to, step)
inject(初期値)は、蓄積変数(sum)に畳み込む
君のような勘の(ry
2017年7月が最終書き込みのスレも残ってるのに
12月に書き込みがあったSUSE Linux Part 31がなぜか過去ログ送りされてるな
sambaが外部から不正アクセスされた場合、デフォルトの設定でアクセス元のIPアドレスってログに残る?
そもそもsambaが外部アクセスされる危険性ってどれくらいある?
パスワード認証で、IPアドレスの制限はしていなかったのだけど
>>976デフォルトだとsambaはローカルネットワークの中ではパスワードだけなので、ルーター突破されたら普通に見える。
「ルーター突破されたら」が一番の肝なので、ハッキングって怖いよね〜ぐらいの話しかできんな。 0979login:Penguin2018/04/27(金) 08:53:00.03ID:5Msqo0oh
改行といえばvimで\nと\rが面倒臭いことになってるの思い出した
あれ何だったんだろうな
強引なのは承知の上ですが、大筋の理解をしたいです。
クロスプラットフォームなツールキットとして、
Tk, Qt, Electronなどがあり、この順に高度なことができると考えていいでしょうか?
その中で一番色々できるのはQtじゃないかな。
GUI以外でも色々できるし、バインディングも豊富だし。
web アプリなら、Rails
デスクトップアプリなら、Electron
Ruby で、もっと簡単に書けた
引数で、加算演算子を渡すだけでOK。
これで自動的に、蓄積変数に足されていく
>70.step(200, 2).inject(0) { |num, sum| sum + num }
#=> 8,910
70.step(200, 2).inject(:+)
>>970
ありがとう。助かります。今のところsedでなんとかしようと考えてます。 >>983
馬鹿なのか変態なのか知らないけど独り言は別のところにどうぞ >>979
> 改行といえばvimで\nと\rが面倒臭いことになってる
って何。 0988login:Penguin2018/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"」って書いてあげるべき。 すまんsage忘れ。
あと,「べき」というか,ちょっと不親切だなという程度。
ああいう啓蒙書的な文書が増えるのは大歓迎。
0990login:Penguin2018/04/27(金) 18:28:04.17ID:2Rsui2FE
>>986
置き換えや検索で\nは行末にマッチするんだけど
置き換え後の文字に\nを指定すると\0に化ける
\rに置き換えると\nになる 0991login:Penguin2018/04/27(金) 18:30:11.21ID:2Rsui2FE
ちょっと前に5chに書き込むとバックスラッシュが円記号に化けるって話あったけど
今は普通に書き込めてるね
あの後に直してくれたのかな
>>990
へえ。検索に "\n" は使ったことがないので知らんかったよ。
:s/$/abcd/ や :s/abcd/^M/ としかせんもな。。。 >>979
憶測ですが、ラインエディタの頃の思想を受け継ぎつつ改変してきたからではないでしょうか。
\n はいにしえ的にデータ入力の終端とみなし \0 に
\r は復帰動作(行頭に戻る)だけではスクリーンエディタ的に意味が無いので復帰を含めた改行動作の \n に
みたいな。 >>968
echo $(($(seq -s+ 70 2 200)))
whileなんていらねぇよ? while使ったとしてもコレかな
seq 70 2 200 | (while read a;do ((b+=a));done; echo $b)
>>983
70.step(200, 2).sum これがシェルスクリプトとRubyそれぞれで最小かな?
seq -s+ 70 2 200 | bc
70.step(200, 2).sum
よっしゃー両者19文字
シェルスクリプトでRubyに追いついたで!
seq -s+ 70 2 200|bc
70.step(200, 2).sum
あ、Rubyは18文字か
70.step(200,2).sum
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 109日 8時間 56分 47秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php