もう20時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]美人女性のお部屋をナマ体験[PR]  

シェルスクリプト総合@LINUX Part4

1 :login:Penguin:2008/05/17(土) 13:44:57 ID:9hFWtCOD
UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく
平和にLINUX的スクリプト談義しましょうよ。

初めての自作スクリプト、自信ないから見てください。な初心者から
トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで
いろいろな人に参加して頂けると嬉しいです。

perlやらPythonやらの話が混ざっても良いんでない?

Part3 : http://pc11.2ch.net/test/read.cgi/linux/1184077033/
Part2 : http://pc11.2ch.net/test/read.cgi/linux/1154578200/
Part1 : http://pc8.2ch.net/test/read.cgi/linux/1121994321/

>>2-5あたりに色々と。

451 :login:Penguin:2008/08/25(月) 23:32:42 ID:w1+LX6rA
これすか…
bash(1)
> --dump-po-strings
> Equivalent to -D, but the output is in the GNU gettext po (portable object) file format.

試しに /usr/share/locale/ja/LC_MESSAGES/XXXX.mo を作ってみたが、日本語にならない。
あうあう。。。
「$」はぶった切ることにします。

452 :login:Penguin:2008/08/25(月) 23:49:02 ID:i+OsnagO
>>451
急ぎじゃなかったら少し頑張ってみるといいかも。

前作ったもの見たらこんな感じで作業してたらしい。
$ xgettext -o hoge.po hoge.sh
$ gtranslator hoge.po
$ msgfmt -o hoge.mo hoge.po

hoge.sh の中にはこんなのが書いてあった。-->
if [ -z "$TEXTDOMAIN" ] ; then
TEXTDOMAIN="hoge"
TEXTDOMAINDIR="/usr/share/locale"
fi
<--

TEXTDOMAIN="hoge.sh" じゃなくて
TEXTDOMAIN="hoge" にしてあるのは
hoge.sh をインストール時に /usr/bin/hoge に改名(hoge.sh から hoge に)するため。

453 :login:Penguin:2008/08/26(火) 23:01:28 ID:JsSv3XDz
gtranslator てのが無かったので、
$ sh --dump-po-strings XXXX > ~/XXXX.po
とし、msgfmt 以降同様にすると日本語になりました。
どうもありがとう。

454 :login:Penguin:2008/08/31(日) 15:42:27 ID:aoYJcwTK
?$

455 :login:Penguin:2008/09/01(月) 09:58:54 ID:LEXE4Xrt
C言語でいう
for (float a=0.1;a<1.5;a+=0.1){
}
の様なループはどのように書けばよいのでしょうか?


456 :login:Penguin:2008/09/01(月) 10:38:54 ID:zLmvj5ED
>>455
小数とか使いたいなら
もっとまともな言語使った方がいいよ。

457 :login:Penguin:2008/09/01(月) 12:17:57 ID:qt+GSvTX
for i in `seq 1 20`
do
i=`echo "scale=1; $i / 10" | bc`
echo $i
done

458 :login:Penguin:2008/09/01(月) 17:56:42 ID:gt+0kg/y
やっぱループ変数は整数だよな。
少数は気持ち悪い。

459 :login:Penguin:2008/09/01(月) 23:52:23 ID:yMJ8hMF5
$ cat aso
killall fukuda

460 :login:Penguin:2008/09/02(火) 01:01:15 ID:iTMiNYXN
>>458
気持ち悪いどころか、有害。
for(float a=0;a<=1.0;a+=0.1){printf("%g ",a);}
⇒ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9


461 :login:Penguin:2008/09/02(火) 02:16:22 ID:NrY9TL/o
>>460
勉強になります。
使った事ないし、使う場合はテストするのでだいじょぶだけど。
でも絶対やらんよねw Cやってるやつは。
すれち

462 :login:Penguin:2008/09/02(火) 04:38:59 ID:dzMMfnry
bcで計算させたとき、0以下の小数は最初の0を抜いた.2のように表示されますが、 
0.2の様な表示にはできませんか? 


463 :login:Penguin:2008/09/02(火) 09:52:47 ID:bHR8SDTE
0 ≧ .2 なのか。

464 :login:Penguin:2008/09/03(水) 00:04:05 ID:aqC4nv+U
>>463
浮動小数点の比較を工夫なく行う奴はアホ。

465 :login:Penguin:2008/09/05(金) 21:49:46 ID:eUOT1mPo
sed を | で つなぐんじゃだめ?

466 :login:Penguin:2008/09/06(土) 00:00:19 ID:x4tIq2Vd
#!/bin/sh
echo '%A4%A2' | tr % = | nkf -emQ

「あ」と表示させたいのですが、「、」」と表示されてしまいます。
正しい書き方を教えてください。

467 :login:Penguin:2008/09/06(土) 05:03:55 ID:/FPWBzOe
うち(EUC環境)では「あ」と表示される。

468 :login:Penguin:2008/09/06(土) 08:59:05 ID:6Sr65r/p
>>466
テキストに落とすとEUCで「あ」に見える

469 :login:Penguin:2008/09/06(土) 23:40:32 ID:O24UR7Eo
>>466 の環境がUTF-8なら
#!/bin/sh
echo '%A4%A2' | tr % = | nkf -wmQ


470 :login:Penguin:2008/09/08(月) 22:09:56 ID:tYV0ghqH
引数 output-file input-file1 input-file2 ...
を受け取ってinput-fileN に some-dir/ を付加したコマンド引数を他のプログラムの引数として与えたいのです。

つまり、
 foo yaruo.out vip.txt vipper.txt vippest.txt
でfooを実行して、そのfoo内では
 bar yaruo.out www/vip.txt www/vipper.txt www/vippest.txt
を実行するということがしたいのです。

こんなスクリプトを作成するには、fooをどのように記述すればいいのでしょうか。
よろしくお願いします。

471 :login:Penguin:2008/09/08(月) 22:27:43 ID:UFg0tXoN
もう宿題の季節なのか?一箇所直してから使ってくれ。

#!/bin/bash
org=www; ARG1=${1}; shift; echo bar ${ARG1} ${@/#/${org}/}

472 :login:Penguin:2008/09/08(月) 22:50:15 ID:4IH3dQd+
>>470
あのね、
宿題を出す先生は、このスレもチェックしてるからね、
>>471 のを出しても 0 点だからwww

ゆっくり 0 点にしてってね!

473 :login:Penguin:2008/09/08(月) 22:54:09 ID:tYV0ghqH
>>471
残念ながら宿題ではないのです〜

ありがとうございました。

474 :login:Penguin:2008/09/08(月) 23:03:49 ID:QeMmaTeA
うちの大学の先生はプログラム板も見ていた

475 :login:Penguin:2008/09/08(月) 23:09:05 ID:/XLojU6V
先生も激務だな

476 :login:Penguin:2008/09/08(月) 23:45:08 ID:lCRZh05X
悪いな、おいらは数学板だけでなく、
日本語のあらゆる数学質問掲示板を巡回している。
必ず学生が質問をしやがるから。

レポートを返すときに、そのスレおよび掲示板のコピーを添付して、念のため確認をとる。
初めから正直に引用したと書いてあるものについては、改めて口頭で説明させている。


477 :login:Penguin:2008/09/09(火) 08:43:21 ID:7p63VvoV
院生にやらせそうな案件だな

478 :login:Penguin:2008/09/11(木) 23:43:43 ID:6JSrg1Nn
実際に教授がやってたら笑いものだな。
そこまで熱心にありがとうございます、と学生ながらに思うべきか。

ただ、ねぇ・・・

479 :login:Penguin:2008/09/12(金) 01:07:51 ID:Hfrl7+Fx
>>478
いや、日本だけってわけでなく海外でも今や引用元チェックとか行っているよ。

480 :login:Penguin:2008/09/12(金) 18:08:43 ID:9WCeRGBW
へー

481 :login:Penguin:2008/09/12(金) 21:11:04 ID:lKrrIxw4
3年前ほどにアメリカのテレビドラマで高校の先生がエッセイの宿題を返す場面を見た。
ある学生に返しながら、「素晴らしいエッセイだったわ。 essay.com(のような感じ)ね?
月曜までに自分で書いて来てね」

482 :login:Penguin:2008/09/13(土) 02:57:01 ID:+1Gk57wR
問題も自分で作ってね

483 :login:Penguin:2008/09/19(金) 18:18:28 ID:0H1973GE
>>479
手作業じゃないよね。日本語を解析できるツールはまだできてないよ。

484 :login:Penguin:2008/09/25(木) 00:19:59 ID:t0y6Jov+
fdisk /dev/sdb
n
p
1
w

↑こんな感じで、入力させていきたいのですが、
方法がわかりません。キーボード 入力 シェル スクリプト
あたりでぐぐると、キーボードからの入力を受け付ける、しか見つかりませんでした。

方法を教えてください。

485 :login:Penguin:2008/09/25(木) 01:43:59 ID:Khd+tIc7
>>484
expect

486 :login:Penguin:2008/09/25(木) 09:57:28 ID:fRZ/kmS9
>>484
sfdisk

487 :login:Penguin:2008/09/25(木) 19:47:43 ID:wpIij73K
>>484
>> EOF

488 :login:Penguin:2008/09/25(木) 19:55:28 ID:oa1dgrD9
( echo n; echo p; echo 1; echo w ) | fdisk /dev/sdb

入力が端末かどうかちゃんとチェックしてるようなモノだと動かないが、
fdisk はそんなことしてなかったはずなので、ふつーに標準入力からつっこめばよし。


489 :login:Penguin:2008/09/27(土) 00:45:11 ID:9WMmgXah
ゴミ箱スクリプト使ってるひといる?

490 :login:Penguin:2008/09/27(土) 01:12:09 ID:s/QKRkEt
あい。

491 :login:Penguin:2008/09/28(日) 03:42:58 ID:yjLf4XT+
ゴミ箱に入ってるファイルを復元させるやつなら使ってる

492 :login:Penguin:2008/09/29(月) 04:13:28 ID:nMbRNXLX
ティルダ(~)展開について質問。

#!/bin/bash

ls ~/

directory="~/"
ls $directory

上側のように直接書いたものは展開されますが、下側のように変数に入れたものは展開されません。
変数に入った「~」を展開するにはどうすればいいのでしょうか。

493 :login:Penguin:2008/09/29(月) 04:17:44 ID:dNtmh/2+
directory=~/

494 :492:2008/09/29(月) 08:48:30 ID:dqlgrzbc
うわ、そんなことだったのか。ありがとうございます。

では、read directory; などでファイルから読んだ場合はどうすればいいんでしょう。

495 :492:2008/09/29(月) 10:56:52 ID:dqlgrzbc
あ、わかりました。eval 使えばいいんですね。
ファイルからティルダ(チルダ)含んだパスを読み込むことなんかよくあると思うんだけど、
そういったシチュエーションでの展開は解説されてませんねえ。
基本的な展開の話ばかりで。

496 :login:Penguin:2008/09/29(月) 11:06:17 ID:6KBzfDQe
eval
って書こうとしたら自己解決してたか。

>ファイルからティルダ(チルダ)含んだパスを読み込むこと

俺は経験無いけど、良くあることなの?

497 :login:Penguin:2008/09/29(月) 12:14:07 ID:PrjYZQYT
> 俺は経験無いけど、良くあることなの?

んー、俺もそもそもスクリプトはあんまり書かないんだけど、
ちょっと今回必要があって、とあるファイルにつらつらと書かれたパスに対して
順番に処理かけていくスクリプトを組んだ。

よくあるかと思ったのは単なる想像。使ったスクリプトが悪かったかな?

498 :login:Penguin:2008/09/29(月) 12:15:02 ID:PrjYZQYT
アレ、ID 変わってる。
>>495 です。


499 :login:Penguin:2008/09/29(月) 13:09:37 ID:M1tw2hRO
むしろ勝手に解釈されたら困ることの方が多そう。

500 :login:Penguin:2008/09/29(月) 17:00:59 ID:DE65cKXI
$HOMEの方がいいと思う

129 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

取りに行ったけどなかった。次は一時間後に取りに行くです。
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.8 2008/09/25 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)