- 1 名前:login:Penguin [2007/07/10(火) 23:17:13 ID:qGthZdME]
- UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく 平和にLINUX的スクリプト談義しましょうよ。 初めての自作スクリプト、自信ないから見てください。な初心者から トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで いろいろな人に参加して頂けると嬉しいです。 perlやらPythonやらの話が混ざっても良いんでない? 【sed】シェルスクリプト総合@LINUX Part2【awk】 pc11.2ch.net/test/read.cgi/linux/1154578200/ pc8.2ch.net/test/read.cgi/linux/1121994321/ >>2-5あたりに色々と。
- 204 名前:login:Penguin mailto:sage [2007/09/19(水) 18:36:32 ID:42fTFu0H]
- >>202
これだと置換後のファイルを.bakに作って、そのあと出来た.bakをオリジナルに 重ね書き(しかもムーヴ)してるように見えるけど。 .bakとオリジナルの2個とも残したいなら、mvじゃなくてcpだろうね。 それ以前に、こういう処理だと普通は.bakに変換前のオリジナルを残すと思うが。 最初にオリジナルを.bakにcpしてあるんだから、.bakは触らずに、元のファイルに sedかけて、最後のmvは不要では
- 205 名前:198 mailto:sage [2007/09/19(水) 20:34:50 ID:OlaeIc6l]
- >>203-204
コメントありがとうございます いただいたアドバイスどおり、bakにはさわらずにオリジナルでsedかけてみました ところが、シェルを動かした後のファイルを見ると動かす前とまったく同じ状態でした。 タイムスタンプも動かす前と同じでした。 sedの使い方が間違っているのでしょうか。今一度教えてください。 ================= ls_result=`ls ~/tmp/*.txt` for list in $ls_result do cp -p $list ${list}.bak sed -e '1 s/2007090100AB/${year}${month}${day}${hour}AB/' ${list} sed -e '2 s/2007\/09\/01/${year}\/${month}\/${day}/' ${list} #rm -f ${list}.bak =================
- 206 名前:login:Penguin mailto:sage [2007/09/19(水) 20:37:21 ID:NIZBsTRK]
- >205
sedは-iオプションを指定しないと結果を標準出力に書き出すだけだよ。
- 207 名前:login:Penguin mailto:sage [2007/09/19(水) 21:25:46 ID:gh8Zvftq]
- sed -i.bak -s \
-e "1s/2007090100AB/${year}${month}${day}${hour}AB/" \ -e "2s,2007/09/01,${year}/${month}/${day}," \ ~/tmp/*.txt で、よくね?
- 208 名前:198 mailto:sage [2007/09/19(水) 21:44:56 ID:OlaeIc6l]
- >>203-204,206-207
207さんのとおりにしたら、想定どおりに動きました! みなさんありがとうございました。m(_ _)m ずっと調べてたらこんな時間に… 今からごはん作ります (^o^)/
- 209 名前:login:Penguin [2007/09/21(金) 15:18:02 ID:5N/Tidqv]
- ディレクトリーA(ファイルが入ってます)を
10/1〜10/31の日付名でコピーしたいのですが なんかいい方法無いでしょうか? Zshだと cp -R A 10[1-31]なんてできるのでしょうか?
- 210 名前:login:Penguin mailto:sage [2007/09/21(金) 15:27:31 ID:KLJI/R6G]
- >>209
for i in {01..31}; do cp -pR A A10$i; done zsh と bash で挙動違うな。
- 211 名前:login:Penguin mailto:sage [2007/09/21(金) 15:37:28 ID:KLJI/R6G]
- >>209
< - > のことなら、ちょっと用途が違うよ。 こんなんやってみ。 % touch B2 % ls B{1..3} % ls B<1-3>
- 212 名前:login:Penguin mailto:sage [2007/09/21(金) 15:46:39 ID:5N/Tidqv]
- >>210 ハヤッ! ありがとうございます!
ディレクトリーAにhoge01〜100ってファイルを作ったときは Zshでさらさら〜って逝けたのですが 現在bash環境なのでそれなりに書かないといかんなと思いつつ 3行になってしまう、漏れの脳みそでした il||li○| ̄|_ 1行でやりたかったww さすがです>>210様 1行でばっちりコピーできますた
- 213 名前:login:Penguin mailto:sage [2007/09/21(金) 15:49:11 ID:5N/Tidqv]
- >>211 すみません −じゃなくて..でした
なかなか参考になるスッドレですね 正規表現もきっちり覚えないといけませんねorz
- 214 名前:login:Penguin mailto:sage [2007/09/22(土) 04:00:27 ID:DSw3XQMb]
- for d in {01..31} ; do printf "%02d " $d; done
- 215 名前:73ですが mailto:sage [2007/09/22(土) 22:02:55 ID:TBL9KN2J]
- >>94
おくればせながらスクリプトが動くようになりました。 御指摘のとおりスペースの数などがあっていませんでした。 ありがとうございました。
- 216 名前:login:Penguin mailto:sage [2007/09/26(水) 09:48:46 ID:kfTmpMA+]
- 時間の逆算っていい技ないですか?
やぱ現在時刻から60進法で計算したほうが早い? 現在時刻 21:24 残り時間 36分で22時 って感じ で、やてみたい
- 217 名前:login:Penguin mailto:sage [2007/09/26(水) 09:54:08 ID:lgPbyfYB]
- >>216
coreutilsのdateを使う。
- 218 名前:login:Penguin mailto:sage [2007/09/26(水) 13:11:02 ID:kfTmpMA+]
- date --date xxmin とかできるのですね!!
しらなんだポカーン >>217 ありがdクス
- 219 名前:login:Penguin mailto:sage [2007/09/26(水) 14:13:45 ID:kfTmpMA+]
- echo $((59 -` date '+%M' | awk '{print $1}'` )) $((59 -` date '+%S' | awk '{print $1}'` ))
これでもでけた!
- 220 名前:login:Penguin [2007/09/27(木) 18:47:27 ID:Qh1DP+hx]
- date,sleep, atは使い込めばラーメンタイマーも・・・・・・・いやなんでもない
- 221 名前:login:Penguin [2007/10/02(火) 23:24:08 ID:57QYWA2W]
- ほしゅ
- 222 名前:login:Penguin mailto:sage [2007/10/09(火) 18:07:07 ID:lJCQFIXV]
- モデムをオンフックにするのに
今のところcuを使って対話的にATH0を 送っているのですが、これを シェルスクリプト内で実行して 自動化する方法はありますか?
- 223 名前:login:Penguin mailto:sage [2007/10/09(火) 23:58:35 ID:rK7+VmTA]
- 対話的といえば expect ぐらいしか思いつかないな
- 224 名前:222 mailto:sage [2007/10/10(水) 19:31:25 ID:TchaYqjx]
- >>223
manを眺めましたが奥が深そうですね。じっくりと勉強してみます。 ありがとうございました。
- 225 名前:login:Penguin mailto:sage [2007/10/11(木) 00:25:04 ID:0rD2It5e]
- >>222
草の根BBSでもやるんかい?
- 226 名前:login:Penguin mailto:sage [2007/10/11(木) 02:33:49 ID:8ZTBNRII]
- モデムで思い出したが、ミャンマーで対外ネット回線が一時遮断されたって
報じてたじゃん。 こんなときにもなんとかなるよう在外公館にアナログモデムを常備してたりは しないだろうか。
- 227 名前:222 mailto:sage [2007/10/11(木) 06:32:06 ID:o32fDZEh]
- >>225
これまでCCT-98IIIのマクロで自動巡回してたんですが Linuxにしたら使えなくなるそうなので・・・・。 って、いやそうじゃなくて、vgettyで留守電のテストを やってたら回線をつかんだまま切れないことがあって それを切断させたいわけです。 >>226 自分はいざというときのためにジャストシステム製の 音響カプラ持ってます。(処分してないだけかも)
- 228 名前:login:Penguin mailto:sage [2007/10/11(木) 08:26:20 ID:A6nFaf5V]
- kermitをperlで操作するnifty4uというパッケージが、前世紀にあった。
NIFTY フォーラム自動巡回スクリプトなので、CCT-98な人には改造が容易かも。 ダイアルアップpppスクリプトを書けば済むんじゃないかと思うけど、やったことないから分かりません。。。
- 229 名前:login:Penguin [2007/10/11(木) 13:36:28 ID:wykYuUw8]
- #!/bin/bash
cd /home/hogehoge というシェルスクリプトを作成し、実行してみても、移動でき ません。 ディレクトリを移動するにはどのようなスクリプトを書けばい いでしょうか?
- 230 名前:login:Penguin mailto:sage [2007/10/11(木) 13:41:47 ID:wNnhF+3E]
- >>229
シェルスクリプトとバッチファイルは違う。 シェルスクリプトはシェル内で動作する子プロセスだ。
- 231 名前:login:Penguin mailto:sage [2007/10/11(木) 13:44:37 ID:wNnhF+3E]
- >>229>>230
一部訂正。 s/シェルスクリプトは/単純に実行したシェルスクリプトは/ 解決方法は "source" 。
- 232 名前:229 [2007/10/11(木) 14:10:15 ID:wykYuUw8]
- >>230>>231
ありがとう。今手元に環境がないので明日試してみます。
- 233 名前:login:Penguin mailto:sage [2007/10/11(木) 18:43:47 ID:KODaF1AT]
- >>232
shell.sh がシェルスクリプトのファイル名だとして chmod a+x shell.sh で実行権限与えて shell.shがあるディレクトリで ./shell.sh したら移動するよ。
- 234 名前:229 mailto:sage [2007/10/12(金) 09:38:40 ID:EbLcx1Gh]
- >>231
sourceやってみたら無事cd出来ました。 >>233 やってみたけど、上手くいきませんでした。 お二方ともありがとうございました。
- 235 名前:login:Penguin mailto:sage [2007/10/12(金) 10:44:01 ID:7zE2B01m]
- シェルプロンプトにコマンド名を叩き込んで実行すると、
子シェル(sh,cshなど)が新たに作られて、その子シェルがスクリプトを実行する。 で、スクリプトが終わるとその子シェルもろとも消えて親シェルに戻ってくる。 だから、シェルスクリプト内でcdしたり、環境変数をセットしても、その影響は 子シェルの中にとどまって、スクリプト終了と共に消えてなくなる。 cshのsourceやshの.(ドット)は、子シェルを作らないで自分の中でスクリプトを実行する。 だからcdやsetenv、exportの結果が、起動した親シェルに反映される
- 236 名前:login:Penguin mailto:sage [2007/10/12(金) 11:22:55 ID:5+kNLqtp]
- . の他に alias とか関数使う手もあるよ。
- 237 名前:233 mailto:sage [2007/10/12(金) 17:40:09 ID:sUVuIX9s]
- >>234
ごめん!間違った。 ./shell.sh じゃなくて . ./shell.sh でした。 . を打って1個スペース空けて シェルスクリプトファイル指定。
- 238 名前:login:Penguin mailto:sage [2007/10/12(金) 17:46:35 ID:5+kNLqtp]
- >>237
なんで ./ を付けるの?
- 239 名前:login:Penguin mailto:sage [2007/10/12(金) 17:59:22 ID:+Kk0eMQd]
- Yeah!めっちゃホリデイ
- 240 名前:login:Penguin mailto:sage [2007/10/15(月) 14:50:05 ID:NjtHefoB]
- 特定のURLを一定時間に読み込むシェルスクリプトをつくりたいのです。
今のところwgetを使ってwget hogehoge をクーロンで動かす予定ですが もっとスマートなやりかたはありますか?
- 241 名前:login:Penguin mailto:sage [2007/10/15(月) 22:15:04 ID:yaqxWPIK]
- >>240
それでいいんじゃね?
- 242 名前:login:Penguin mailto:sage [2007/10/15(月) 23:35:58 ID:6xnjJ9Cn]
- >>241
じゃあ1分に1回よりも高頻度(30秒に1回とか、15秒に1回とか) やりたい場合はどうすれば?
- 243 名前:login:Penguin mailto:sage [2007/10/16(火) 00:24:31 ID:7lwU6GvW]
- アタックしたいのか?
- 244 名前:login:Penguin mailto:sage [2007/10/16(火) 01:36:38 ID:IhGBMLbJ]
- >>242
wget ...; sleep 30; wget ... するスクリプトを毎分実行するとか。
- 245 名前:login:Penguin mailto:sage [2007/10/16(火) 08:18:30 ID:a72PxkLH]
- >>243
アタックしたいわけじゃないですよ。 ただcronって最高でも1分に1回しか実行できないはずなので、それよりももっと短い間隔で 処理をさせたい場合とかどうするのかなぁとふと疑問に思ったもので。 >>244 なるほど・・。 しかし wget ... ; のところで1分ぐらい処理に時間がかかった場合 その後の sleep 30 ; がきて、そしてまた wget ... がくるから、タイミングと言うか場合によっては 30分に1回キッチリ実行されるとは限りませんね。31分かかって、その後実行されて 今度は29分後に実行されるみたいなズレ方はしますよね。
- 246 名前:login:Penguin mailto:sage [2007/10/16(火) 08:26:34 ID:IhGBMLbJ]
- >>245
バックグラウンドで実行するとか。 つーか、何分もかかる処理を30秒ごとに実行していいのか?
- 247 名前:login:Penguin mailto:sage [2007/10/16(火) 11:46:31 ID:wfMufGFC]
- cronはプロセスが無限増殖するのを抑えるために、同時実行数に制限があるので注意
Solarisだと、確か同時実行数が100個を超えるとそれ以降は時刻が来ても起動しなくなる LinuxだとOOMキラーが動いて刈り取られるかもしれん cronの起動間隔 ≒ プロセスの実行時間 となるような長めのプロセス、特に通信関係とかで長めのタイムアウトが発生しそうな プロセスをcronに仕込むときは、注意したほうがいい
- 248 名前:229 mailto:sage [2007/10/16(火) 13:58:23 ID:EtpWijek]
- 環境が手元にないもので、遅レスになってしまいすみません。
>>235 なるほどです。ありがとうございました。 >>236 ありがとう。aliasでも出来そうでした。 >>237 .の後に続けて入力したところ、うまくcdできました。 >>238 素人なのでよく分かりませんが、実行ファイルを実行するときに付けるんでは? それでは、みなさんありがとうございました。
- 249 名前:login:Penguin mailto:sage [2007/10/16(火) 14:09:44 ID:IhGBMLbJ]
- >>248
. shell.sh でもいっしょだよ。 やってみ。
- 250 名前:login:Penguin mailto:sage [2007/10/16(火) 17:45:32 ID:a72PxkLH]
- ./ を つけるのは カレントディレクトリのファイルを指定する為。
つけないと 環境変数 $PATH の中から該当する物が無いかを探してなかったら エラー返すので。 カレントディレクトリのファイルを指定する時にいちいち ./ をつけるのが面倒だからって $PATH に ./ も含めてしまうとセキュリティホールになるので やらないでね。
- 251 名前:login:Penguin mailto:sage [2007/10/16(火) 17:50:59 ID:IhGBMLbJ]
- >>250
>>249
- 252 名前:login:Penguin mailto:sage [2007/10/16(火) 18:39:11 ID:tU6zGUOB]
- シェルスクリプトで端末の現在の行数を得るにはどうしたらいいですか
- 253 名前:login:Penguin mailto:sage [2007/10/16(火) 19:18:04 ID:iHfKM46h]
- stty -a とかかな。
- 254 名前:login:Penguin mailto:sage [2007/10/16(火) 19:45:06 ID:tU6zGUOB]
- >>253
情報ありがとうございます。 行数を表示するだけでなくて、 シェルスクリプトの中で行数を変数に格納して、 なんらかの処理を行いたいと思っているのですが 何かうまい方法はありますでしょうか
- 255 名前:login:Penguin mailto:sage [2007/10/16(火) 21:12:10 ID:pdm4T3SF]
- >>254
ROWS=`stty -a | tr ";" "\n" | grep rows | sed "s/.*rows //"`
- 256 名前:login:Penguin mailto:sage [2007/10/16(火) 21:36:05 ID:tU6zGUOB]
- >>255
できましたありがとうございました。
- 257 名前:login:Penguin mailto:sage [2007/10/16(火) 23:32:43 ID:sWAUZpv3]
- $LINES じゃだめなの?
- 258 名前:login:Penguin mailto:sage [2007/10/17(水) 04:58:42 ID:d5Vjha9K]
- シェルスクリプトの中で$LINESがとれるとでも?
- 259 名前:login:Penguin mailto:sage [2007/10/17(水) 10:00:57 ID:9KXOUzKW]
- ROWS=`tput lines`
COLS=`tput cols`
- 260 名前:login:Penguin mailto:sage [2007/10/17(水) 22:15:42 ID:VuOM9tU/]
- eval `resize`
echo $LINES $COLUMNS
- 261 名前:login:Penguin mailto:sage [2007/10/18(木) 12:39:19 ID:fyMSNeWa]
- >>260
resize は X がインストールされていない環境では使えない。 xterm の付属物なので。
- 262 名前:login:Penguin [2007/10/23(火) 17:14:39 ID:OMh5qn/O]
- ちょっと相談に乗ってください。
日付.pc名.サイト名_access_log ex) 20071023.pc-local01.hoge_access_log 20071023.pc-local02.hoge_access_log 20071023.pc-local01.hagehoge_access_log 20071023.pc-local02.testhoge_access_log と言うログファイルをサイト名別のフォルダに移動した後 1つのログファイルにマージさせるスクリプトを書きたいのですが。 とりあえず、スクリプト書いてみたのですが正直何がなんだか 分かりません。アドバイスを下さい。 #!/bin/sh timestamp=`date +%Y%m%d` log=`find /home/hoge/log -name $timestamp.*` list=`echo "$log" | sed -e 's/_access_log//g' | cut -c57-` スクリプトでは、今日のタイムスタンプを取ってlogファイルを検索し その結果のサイト名以降の”_access_log”を消して、サイト名より前 も入らないので、表示させないようにする。これから、サイト別にフォルダを 作ってそこに移動させるのですが、mkdir "$list"では上手く行きません。 何かいいアドバイスを教えてください。よろしく御願いします。
- 263 名前:login:Penguin mailto:sage [2007/10/23(火) 17:19:48 ID:4jX2ZQqu]
- >>262
cut -c57- ってのは何?
- 264 名前:login:Penguin mailto:sage [2007/10/23(火) 17:20:31 ID:XqFIvlF4]
- >>262
シェルスクリプト以前の話だな。 まずは最終的に何をやりたいのかをはっきりしろ。
- 265 名前:login:Penguin mailto:sage [2007/10/23(火) 17:26:06 ID:4jX2ZQqu]
- >>262
$log にたくさんファイル名が入ってるのに echo $log をいじろうとするのがよくわからんな。 >>264 まずは日本語の勉強からだな。
- 266 名前:login:Penguin mailto:sage [2007/10/23(火) 17:50:56 ID:OMh5qn/O]
- >>263
サイト名だけの文字を取りたかったので、cut -c57- としました。 >>264 申し訳御座いません。 ログファイル名からサイト名だけを文字を取り出して、取り出した文字 (サイト名)のフォルダを作って、作ったフォルダにそれぞれログを 振り分けてログファイルをマージさせたいです。 これで、少しは伝わりますでしょうか? >>265 $logの結果からサイト名の文字だけ取りたかったので、echo $logを いじっています。
- 267 名前:login:Penguin mailto:sage [2007/10/23(火) 18:08:13 ID:XqFIvlF4]
- >>266
プログラミングの論理部分を勉強したほうがいい。 「やりたいこと」と「実際のスクリプト」の間には 「ロジックを組み上げる」作業が必要になるが、 君はこの部分について全く理解できていないようだ。 まずは 「findで検索したファイルの一覧はどういう形で変数logに入っているのか」 「その変数logに対して繰り返し処理を行なうにはどうしたらよいか」 を調べてくるべし。
- 268 名前:login:Penguin mailto:sage [2007/10/23(火) 18:09:14 ID:4jX2ZQqu]
- そもそも find でうまくいかんな。
- 269 名前:login:Penguin mailto:sage [2007/10/23(火) 18:17:19 ID:OI+rqPpl]
- >>262
find . -type f -printf %f\\n|awk -F. '{gsub(/_access_log/,"",$3);print $2 "." $3}'|uniq >hostlist for i in $(cat hostlist);do mkdir $i;done あとawkで同じように cp 20071023.pc-local02.testhoge_access_log pc-local02.testhoge のようなlist作って実行
- 270 名前:login:Penguin mailto:sage [2007/10/23(火) 18:18:51 ID:OMh5qn/O]
- >>267
アドバイスありがとうございます。 正直、インフラ担当なのでプログラムさっぱりです(;´Д`) とりあえず、ググって調べてみます。 >>268 もう少し調べてから、スクリプト書き直します。 ありがとうございました。
- 271 名前:login:Penguin mailto:sage [2007/10/23(火) 18:20:53 ID:OMh5qn/O]
- >>269
ありがとうございます。 参考にさせて頂きます。とりあえず、スクリプト周りを調べて 書いてみます。
- 272 名前:login:Penguin mailto:sage [2007/10/23(火) 18:25:49 ID:4jX2ZQqu]
- #!/bin/sh
cd /home/hoge/log for i in `date +%Y%m%d`.*; do dir=`echo $i | cut -f2 -d.` [ -d $dir ] || mkdir $dir mv $i $dir done ファイル数が多過ぎるとかヘンなファイル名とかは知らね。
- 273 名前:login:Penguin mailto:sage [2007/10/27(土) 10:44:25 ID:mm4VeEeL]
- IPアドレスを16進に変換したいです。
どうやりますか?
- 274 名前:login:Penguin mailto:sage [2007/10/27(土) 13:17:13 ID:D/VUEDKM]
- echo '192.168.0.1' | gawk -F. '{printf("%02x%02x%02x%02x\n", $1, $2, $3, $4)}'
- 275 名前:login:Penguin [2007/10/27(土) 13:26:52 ID:QMQXG4ov]
- >>274
俺のIPサンプルに使うなよ。晒されたら攻撃の的になるだろうが(´・ω・`)
- 276 名前:login:Penguin mailto:sage [2007/10/27(土) 13:35:53 ID:6kGxUA5U]
- >>274
ありがとうございました。
- 277 名前:login:Penguin mailto:sage [2007/10/27(土) 14:33:40 ID:NSYPc3Nw]
- >>275
ネットに繋がらないと思ったらお前のせいかー! 早く俺のIP返してくれよ(´・ω・`)
- 278 名前:login:Penguin [2007/10/27(土) 15:34:59 ID:XQQiaIjq]
- >>275
そうか、そんなにお望みなら今から的にしてやるよwww タシロ砲とブラスターとあと手持ちの攻撃ツールの標的IPを全部セットして攻撃開s
- 279 名前:login:Penguin mailto:sage [2007/10/27(土) 19:24:46 ID:OFawlVSO]
- 俺のIPは127.0.0.1だから攻撃するなよ
- 280 名前:login:Penguin mailto:sage [2007/10/27(土) 21:20:28 ID:jIwdHtQL]
- ひどいネタスレと化してるなココwwwwww
- 281 名前:login:Penguin mailto:sage [2007/10/29(月) 10:48:36 ID:AXA/ueYo]
- 俺のIPは172.31.0.1だぞ。
- 282 名前:login:Penguin mailto:sage [2007/10/29(月) 10:55:37 ID:PqFYrP+5]
- もういいよ。
- 283 名前:login:Penguin [2007/10/29(月) 11:01:37 ID:F/RFN0ba]
- 俺のIPは203.・・・・
いややめとく
- 284 名前:login:Penguin mailto:sage [2007/10/29(月) 18:16:52 ID:lN+2vPd7]
- じゃあオレも1個
オレのIPは 169.254.88.24だぞ。
- 285 名前:login:Penguin mailto:sage [2007/10/29(月) 20:28:52 ID:vqPZDaQA]
- あ、思い出した。
255.255.255.255 -> 0xffffffff のように、IPv6表記を16進表記に変換する手続きを考えてくだちい。 f000::1 -> 0xf0000000_00000000_00000000_00000001 ("_"は不要) ff::169.254.88.24 -> 0x00ff0000_00000000_00000000_a9fe5818
- 286 名前:login:Penguin mailto:sage [2007/10/29(月) 23:28:48 ID:Hdkrl+3D]
- 完全に他人まかせだなぁ。
> ruby -rsocket -e 'p Socket.gethostbyname("ff::169.254.88.24")[3].unpack("C16").map{|c|format "%x",c}.join' "00ff00000000000000000000a9fe5818"
- 287 名前:login:Penguin mailto:sage [2007/10/30(火) 21:40:02 ID:Hmkhn1Qf]
- あー、目鱗。
gethostbyname()等を使えばいいのか。
- 288 名前:login:Penguin mailto:sage [2007/11/06(火) 00:15:33 ID:vKEt0xzk]
- あるコマンド(hoge)の結果が・・・
(カラム位置) [col1 col2 col3 col4] (コマンド出力) 0001 0002 * 0004 である場合にこの結果をset `hoge`で受けた場合、位置変数 $3に「*」が入ってくるようにbashのスクリプトを作成したい のですが現状ではどうやってもカレントディレクトリ配下の ファイル一覧が入ってきてしまいます。 何か良い手がありましたら教えて下さい。
- 289 名前:login:Penguin mailto:sage [2007/11/06(火) 00:55:19 ID:M5wBEVHJ]
- "`hoge`"
- 290 名前:login:Penguin mailto:sage [2007/11/09(金) 03:25:37 ID:r4+4tELy]
- >>289
オイオイ!w マジレスすると $ set -o noglob じゃないの
- 291 名前:login:Penguin mailto:sage [2007/11/09(金) 06:12:20 ID:BEUM5jSj]
- >>300
zenity を使うとシェルスクリプトで手軽な GUI が作れるぞ
- 292 名前:login:Penguin mailto:sage [2007/11/09(金) 08:21:31 ID:kDM6jkym]
- ttp://www.google.co.jp/search?hl=ja&q=zenity
でトップに出て来るページは、もしかしてケンカを売ってますか? >最新のGnomeデスクトップを使っていても古いUnixユーザーはすぐにターミナルエミュレータを開いてしまいがちです。
- 293 名前:login:Penguin mailto:sage [2007/11/09(金) 12:05:22 ID:ei55nGr2]
- 文章全体から見てポジティブな物言いだと思うが...
- 294 名前:login:Penguin mailto:sage [2007/11/10(土) 01:20:06 ID:5ErO5tFm]
- zenity の使用例: jpg と mp3 をあわせて avi を出力するスクリプト
音声ファイルをビデオホスティングサイトに投稿時に使用 ==================================== #!/bin/sh # mp3jpg2avi.sh JPG_FILE=`zenity --title="JPG ファイルを選択してください" --file-selection` MP3_FILE=`zenity --title="MP3 ファイルを選択してください" --file-selection` zenity --title="質問" --question --text "変換開始しますか?" if [ $? = 0 ]; then ffmpeg -shortest \ -loop_input -f image2 -i $JPG_FILE \ -i $MP3_FILE \ -sameq output.avi fi ====================================
- 295 名前:login:Penguin mailto:sage [2007/11/10(土) 09:47:24 ID:9Zj/zooJ]
- >>292
Linuxから入った人だけど、Gnomeなんてマルチウインドウ端末エミュレータ支援ソフト西か見えません
- 296 名前:login:Penguin mailto:sage [2007/11/10(土) 11:07:23 ID:vw7Wu+HW]
- マルチウインドウ端末エミュレータ支援ソフト西やら
マルチウインドウ端末エミュレータ支援ソフト力石やら マルチウインドウ端末エミュレータ支援ソフトホセ=メンドーサやら知らん。
- 297 名前:login:Penguin mailto:sage [2007/11/10(土) 11:19:14 ID:9Zj/zooJ]
- >>296
一応ここでタオル投げときますね。つ〜
- 298 名前:login:Penguin mailto:sage [2007/11/10(土) 18:43:49 ID:Skjd8N2z]
- そういやこの間表参道歩いていたら、
胸にでっかく 「マンモス西」 と書かれたTシャツを着たガイジンが 前からいきなり歩いてきてビビった。 東京は怖い街だよ。
- 299 名前:login:Penguin mailto:sage [2007/11/10(土) 19:19:41 ID:PRddAKpB]
- そんなアナタに
engrish.com/
- 300 名前:login:Penguin mailto:sage [2007/11/10(土) 20:24:35 ID:Skjd8N2z]
- そこのこの写真に、"Photo courtesy of Paul Gilbert"ってあるけど、
あのポールギルバートなんだろうか? ttp://www.engrish.com/detail.php?imagename=Hate.jpg&category=Clothing&date=2001-11-03 日本に住んでたしなあ。
- 301 名前:HhMiKdKNVb mailto:vyqkae@ndzhjf.com [2007/11/12(月) 01:38:17 ID:J0HpIKvZ]
- hlUotX <a href="jtpkztrjwlma.com/">jtpkztrjwlma</a>, [url=ykcooubrqrga.com/]ykcooubrqrga[/url], [link=tvapeckiqvbf.com/]tvapeckiqvbf[/link], cygdvmjubaqg.com/
- 302 名前:login:Penguin mailto:sage [2007/11/13(火) 02:33:43 ID:tnRwnYpT]
- 恥を忍んで質問なのですが
/home/me/ 以下にjpgファイルが数千有ります 中身はこんな感じなのですが 1082053423922.jpg 1082053508305.jpg 1082053537535.jpg 1082053614971.jpg 1082053699948.jpg 1082053732609.jpg 1082053763346.jpg 1082391828601.jpg 1082392563669.jpg 1083091232922.jpg この数千の*.jpgのファイルをディレクトリから読み込んで以下タグの中にディレクトリから読み インクリメンタルに全ての画像ファイルがリンク代入された状態で出力したいと思っています <div id="myGallery"> <div class="imageElement"> <h3>Item 1 Title</h3> <p>Item 1 Description</p> <a href="mypage1.html" title="open image" class="open"></a> <img src="images/foo/a.jpg" class="full" /> <img src="images/foo/a-thum.jpg" class="thumbnail" /> </div> ディレクトリから読み込んだfileの名前a.jpgににファイルの中が無くなるまで 置換したいという意味なのですが.. どうか、助言願えないでしょうかm(__ __)m
- 303 名前:login:Penguin mailto:sage [2007/11/13(火) 07:47:54 ID:xB6HVDtO]
- まずは「この数千の……」以降の文章を推敲して他人に理解できるよう
書き換える。
- 304 名前:login:Penguin mailto:sage [2007/11/13(火) 10:11:50 ID:VZT+kd7x]
- >>302
zphoto でも使ったら?
|

|