- 1 名前:名無しさん@お腹いっぱい。 [2007/02/15(木) 14:28:44 ]
- シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。 まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。 □お約束 ・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。 Linuxユーザは/bin/shの正体がbashなので特に注意。 ・csh/tcshのシェルスクリプトは推奨されません。 (理由は「csh-whynot」でググれ) ・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。 manや参考リンクを見ましょう。 aproposないしはman -kでそれらしい単語による簡単な検索もできます。 ・シェルスクリプトのことをシェルってゆーな ・シェルで使えるワイルドカード等は正規表現ではありません。 正規表現の話題はスレ違い(正規表現スレへ) □初心者へのアドバイス: ・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも RubyやPerlの方が適した仕事には素直にそちらを使いましょう。 ・知らないコマンドが出てきたらmanを引きましょう。 ・思い通りに動かないときは、まずは sh -x でトレースしましょう。 前スレ シェルスクリプト総合 その7 pc10.2ch.net/test/read.cgi/unix/1157601611/
- 201 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:24:02 ]
- どうしても分からないので教えてください。
利用者が指定した文字列の書いてあるファイルを読み込んで、 配列に文字列を一つずつ格納し、その文字列を順番に出力させたいのですが、 どのようにすれば良いのでしょうか?
- 202 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:32:35 ]
- >>201
どのシェルよ? 少なくともピュアBourneシェルには配列はない。
- 203 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:33:26 ]
- >>202
申し訳ありません。bashです。
- 204 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:37:11 ]
- >>201
tr ' ' '¥012' < ユーザーが指定したファイル | sort という意味? 指定したファイルの中はどんな構造なの? 1行に1語なのか、フリーテキストか。
- 205 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:40:27 ]
- >>204
指定したファイルは、おっしゃる通り、1行1語のテキストファイルです。 Sapporo Tokyo Osaka Nagoya Fukuoka といった感じです。 単純に中身を表示するだけなら、 echo -n "ファイル名を入力してください:" read x cat $x でよいと思われるのですが、一度配列に全文字列を格納してやるので困っています…。
- 206 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:46:39 ]
- 言ってる意味が分からん。
sort そのファイル とするのとは違うの?
- 207 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:55:10 ]
- >>206
sort ファイル とは違い、この場合だと、 array[0]=Sapporo array[1]=Tokyo array[2]=Osaka array[3]=Nagoya array[4]=Fukuoka i=0 while [$1 -le 5] do echo ${array[$i]} let i=$i+1 done 読み込んだテキストファイルをこのような感じで出力させたいです。
- 208 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 12:58:49 ]
- 宿題は自分でやりましょう。
- 209 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 13:05:51 ]
- >>201
シェルスクリプトじゃなきゃいかんの? perlかなんか使った方が楽じゃない?
- 210 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 13:12:43 ]
- とりあえず、「順番に」が読んだ順にという意味であって
「整列させて」という意味ではないことは理解した。
- 211 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 13:16:34 ]
- while read word; do
words=($words $word) done < 指定したファイル してあとは一緒。
- 212 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 13:43:20 ]
- >>209
perlじゃ駄目なんです。 >>211 echo -n "ファイル名を入力してください:" while read word; do words=($words $word) done < $word という事でしょうか?
- 213 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:02:36 ]
- 違う。
- 214 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:07:43 ]
- >>213
すいません・・・ どうやれば良いのでしょうか?
- 215 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:10:26 ]
- <の後ろに書くのは、>>207のx
echo -n "ファイル名を入力してください:" read source while .... done < $source あとは出力のためのループ
- 216 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 14:52:24 ]
- >>215
echo -n "ファイル名を入力してください:" read source while read word; do words=($words $word) done < $source cat $source | while read do echo $words let source=$source+1 done でやってみましたが、テキストの最初の文字列しか表示されません。 後半の出力ループがいけないのでしょうか?
- 217 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:06:49 ]
- ああ、ごめん、bashじゃなくzshでやってたわ。
- 218 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:12:44 ]
- bashで配列にpushする方法がわからん。
代わりに一パラメータで逃げてみた。 while read word; do set -- $* $word done < $source for word in $*; do echo $word done
- 219 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:18:07 ]
- 訂正
×一パラメータ ○位置パラメータ あんど、こう書くらしい。 while read word; do size=${#words[@]} words[$size]=$word done < $source for word in ${words[@]}; do echo $word done
- 220 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:24:40 ]
- bash限定スクリプトは、以降はこちらへ
↓ pc11.2ch.net/test/read.cgi/linux/1154578200/ ここはBourneのみでよろしこ。
- 221 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:49:17 ]
- >>219
動作確認出来ました。本当にありがとうございました。 >>220 誘導ありがとうございます。 スレ違いで申し訳ありませんでした。
- 222 名前:名無しさん@お腹いっぱい。 [2007/03/08(木) 15:53:31 ]
- shです
教えてください #!/bin/sh COUNTER=0 while [ $COUNTER -lt 100 ]; do mv "$COUNTER".jpg /home/more/ let COUNTER=COUNTER+1 done こんな感じのとき最初の10までが1桁になってしまうのですが 01 02 03,,,, 行頭に0を付けた2桁で処理するのはどうすれば良いのでしょうか? 00-09と10-99でループをわけるしか無いのでしょうか?
- 223 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 15:59:51 ]
- 最近の環境ならprintf外部コマンドがあるんじゃない?
mv `printf %02d $COUNTER`.jpg /home/more なければ mv `echo "0$COUNTER" | sed 's/0*¥(..¥)$/¥1/'`.jpg /home/more とか、 mv `echo "0$COUNTER" | rev | cut -b1,2 | rev` /home/more とか。
- 224 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:09:12 ]
- >>222
for COUNTER in `seq -w 0 99`; do : ...; done ↑でループすれば桶。 あと、letコマンドは純粋な shには無いぞ。
- 225 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:11:22 ]
- ただ、>>222 がやっていることをやるだけなら、
そもそもループすら不要で、 mv [0-9][0-9].jpg /home/more だけで一発。シェルは不要。
- 226 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:11:48 ]
- seqもあったりなかったり
- 227 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:12:07 ]
- >>223
ありがとうございました。 最終行でうまくいきました。 上の2個も含め手法を理解するように勉強してみます
- 228 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:15:29 ]
- (たとえば) [0-9][0-9] を展開しているのはシェルですぅ
ので不要じゃないわよ>>225
- 229 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:16:49 ]
- >>228
お約束どおり釣れましたよ。おめでとう。
- 230 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:18:58 ]
- >>224-226
ありがとう。 実際にはdateから自動生成された莫大な 画像データを部分的に抽出しながら動画生成を 行うので 例に出したのより多少複雑に書き直します seqも実験してみます
- 231 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:20:11 ]
- touch [0-9][0-9].txt
[root@localhost /tmp]$ ls [0-9][0-9].txt となります。 00.txtから99.txtを作りたいのですが…
- 232 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:20:18 ]
- BSDだとseqの代わりにjotだったかな。
- 233 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:23:11 ]
- zsh があるなら
zsh -c 'touch {00..99}.txt' とか
- 234 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:26:04 ]
- 231は空のディレクトリで touch *.txt やったときに
どういう結果になってほしいんだろう。
- 235 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:27:16 ]
- zsh -c 'touch {00..99}.txt'
は、書かれてしまったから touch `seq -s ".txt " -w 99"`.txt
- 236 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:27:59 ]
- シェルってゆうな。クズ。
- 237 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:28:49 ]
- >>234
00.txtから連番で99.txtまでのファイルが欲しいんでしょ
- 238 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:30:36 ]
- >>236
いつものお約束も釣れましたよ。おめでとう。
- 239 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:31:17 ]
- シェルっていうな
- 240 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:35:08 ]
- >>233 >>235
ありがとうございました! zshって凄いですね。 でも、それに依存しないよう >>235さんの方法を覚えます。
- 241 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:38:39 ]
- >>223 のprintf以外の方法だとちょっと無駄。
exprを使うのが定石。 expr 0$COUNTER : '.*\(..\)'
- 242 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:40:10 ]
- seqもない場合があるけどね
- 243 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:43:23 ]
- >>235 の seq、間違ってるよ。最後の .txtが余分なのと、"が1個余分。
- 244 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:46:42 ]
- >>235 よりも、
seq -f %02g.txt 0 99 の方がエレガント。
- 245 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:53:02 ]
- >>243
-sは間に挟む文字列だから最後の.txtがないと、 00.txt ... 98.txt 99 で終わってしまうぞ。 でも正解は>>244。
- 246 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:57:54 ]
- >>244
確かにこっちなら完璧に出来ますね。 ところで %02g と言うのは何なんでしょうか?
- 247 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 17:06:19 ]
- >>246
man seq つーか man 3 printf
- 248 名前:201 mailto:sage [2007/03/08(木) 18:43:31 ]
- >>219
最後にもうひとつだけ質問させてください。 出力をする時に配列の反対(リバースオーダー)から出力をするのはどうやれば良いのでしょうか? 例えば、 Tokyo Osaka Nagoya とあったら Nagoya Osaka Tokyo と出力されます。
- 249 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 18:46:19 ]
- >>248
tac
- 250 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 18:51:21 ]
- for ...
done | tac のようにパイプすればいいのではないでしょうか。 tacがない環境では、 for ... done | sed '1!G;h;$!d'
- 251 名前:201 mailto:sage [2007/03/08(木) 19:14:20 ]
- ありがとうございました。
これでなんとか単位が取れます
- 252 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 19:25:38 ]
- はぁ? 単位?? 宿題禁止なわけだが、、答えて損した、、
- 253 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 19:46:30 ]
- 上で指摘されてるのに気付けよ
- 254 名前:名無しさん@お腹いっぱい。 mailto:@@@ [2007/03/09(金) 00:33:46 ]
- ファイルを1行ずつ読み込んで配列に入れたいとおもってまつ。
↓みたいに書いてみたのですがエラーでちゃいます。なぜ?? #!/bin/csh set ALLCOUNT = 5 @ CT = 1 @ NO = 3 @ CN = "" while ( $NO <= $ALLCOUNT ) set CN[$CT] = `sed -n "$NO p " job.txt @ CT ++ @ NO ++ end
- 255 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 01:11:36 ]
- シェルスクリプトでは、sh だろうと csh だろうと、
配列を使おうと思った時点で負け。別の方法を探すべし。
- 256 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 01:17:09 ]
- >>254
>>201と同じ学校の人?
- 257 名前:名無しさん@お腹いっぱい。 mailto:@@@ [2007/03/09(金) 01:19:14 ]
- >255
ダメっぽ? >256 いや趣味
- 258 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 07:50:56 ]
- cshの時点で負け。
それが宿題だとすると、そんな教官がいるような学校に 進学した時点で負け。
- 259 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 07:52:39 ]
- 思考停止論か
- 260 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 07:54:46 ]
- 宿題で「cshで書け」と指定されている場合以外に、
cshで書かなければいけない合理的な理由は存在しない。 趣味なら自分で研究すること。
- 261 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 17:07:47 ]
- シェルスクリプトならファイルが配列ってことで
- 262 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 19:22:22 ]
- インデックスによるアクセスが必要ならポジションパラメータ使うだろ。普通。
- 263 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 21:47:41 ]
- 配列も、位置パラメータも
所詮人間がデータ構造を解釈しているだけの話。
- 264 名前:名無しさん@お腹いっぱい。 [2007/03/10(土) 21:31:59 ]
- 201が宿題やったせいで254も宿題思われてるのかw
というより口だけで実は分からないだけですかおまいら。
- 265 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 21:37:01 ]
- >>264
宿題かどうかが問題なんじゃなくて、cshのスクリプトは論外ということ。 誰も答えるはずがない。
- 266 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 21:44:39 ]
- 自演乙
- 267 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 21:45:26 ]
- / / ,. -'"´ `丶、、 ヽ
__l // / | \ \\ ゙、 / ̄ ̄ ̄ ̄ ̄ ̄ / :::|| / / / l l ヽ ヽヽド、 / l::::::::::|| / / / ! l ヽ ヽ ヽヽ ||:::::ヽ | l 十`` 十_ヽ 斤.::::::::||/ / //! ハ l ! ヽ ', ゙ヽ||::::::::勺 | レ d、 (_| _) |ll|i :::::::|| l l イ l /!l | ヽ ト、|、 ト、 l l、||::::::::}ll| | ┼‐、ヽ ┴┴ |ll|ヽ:::::|l !l |l!‐!‐ト、l ヽ | l | ヽ | l i l l||:::::::/!l| | ノ 月 l | |lll| `ー! l | l 」-=ミ|`ヽ ヽ | !-‐!‐|-l、|} l |r、〃|ll| | 二二`` l__ヽ L!l | l | 〃{ノ::::iヾ ヽ! ,. =-ミ、!ハ l !"´ |ll| | ノ _) {l |!l | ヽ `ー" ' トイ:::}ヾ | l | |ll」 | ─ァ ヽ |l !| `二ノ '| || | /\ l |', | /)|l l | ┼‐、ヽ l | ゙、 ` ´ /-イ| l | ノ !| \ ヽニヽ , ′/゙! l ∠ '⌒) | |ヽ、 ー / 〃 | ! | 「 ,.rr| 丶、 ,.. '´ト、 l′ ヽ ゚ l::l {:| ` ´ |::}} \______ _. -‐1::ヽ' -、 _,.. -‐ン::|ヽ、 _.. -‐ "´ |:::::::::`ゝヽ /rJ::'"´:::::::! ` 丶、
- 268 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 21:52:54 ]
- だいたい木曜辺りに宿題が出るのか?
- 269 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 22:04:01 ]
- 宿題は2chでやってもらうのが当たり前です。
- 270 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 22:11:17 ]
- 逆に、宿題を出す立場の人間です。
毎回、問題を出すのにネタが尽き気味で大変です。 宿題が出た人、どんどんその問題を書き込んでください。 一部変えて出題に使わせていただきます。
- 271 名前:名無しさん@お腹いっぱい。 mailto:hage [2007/03/10(土) 22:19:47 ]
- 2ちゃんを使わせない方法
- 272 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 22:29:26 ]
- >>270
分かった。 うちで使うスクリプトを問題として出してやる。
- 273 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 10:34:35 ]
- >>270
tacをシェルスクリプトで書かせる。
- 274 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 10:47:03 ]
- >>273
そういえば、まだ bash の回答がない。 ttp://golf.shinh.org/p.rb?reverse+lines この問題にかぎらず、sh で参戦してる人が少ないのでおまいらもやってみてくれ。 おれもがんばってみる。
- 275 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 17:31:24 ]
- sedの解が出てるんだからそれを呼べばよいのでは。
何も無理してshだけで文字列操作するこたーないと思うけど。 #!/bin/sh f () { local l; read -r l && { f; echo "$l"; }; } f
- 276 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 18:28:56 ]
- >>275
readの -r オプションはbash依存。localコマンドは Bourneで使えない。 あと、再帰呼出しは重い。非再帰版の方がエレガント。 出題ネタにしたいので、回答は省略。
- 277 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 18:44:38 ]
- #! /bin/sh
txt= IFS=' ' while read line do txt="${line} ${txt}" done echo -n "$txt"
- 278 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 19:10:00 ]
- >>276
CodeGolfが出ちゃったからbashism上等の答えになったんだと思う。
- 279 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/12(月) 19:18:19 ]
- localはどうか忘れたがread -rはPOSIXにもあったんじゃないか?
- 280 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 01:40:57 ]
- そーすpls
- 281 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 02:44:26 ]
- >>280
>>3 > POSIX: Shell & Utilities (標準規格) > www.opengroup.org/onlinepubs/009695399/utilities/contents.html
- 282 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 09:45:19 ]
- www.opengroup.org/onlinepubs/009695399/utilities/read.html
なるほどね
- 283 名前:名無しさん@お腹いっぱい。 [2007/03/13(火) 20:53:58 ]
- awkについて質問します。
single quotation mark("'")をエスケープしたいのですが、 次のコードは×となります。 どなたか、どうやって、"'"をエスケープするのか 教えていただけますか? たとえば、 awk '{printf "\'%s\'", $2}' file として、 $2フィールドの値を 'AX' 'PY' 'CU' のように''で囲みたいのです。
- 284 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 20:57:48 ]
- シェルレベルで '...' と ¥' からなる並びに見えるようにする。
'{printf "' ¥' '%s' ¥' '¥n", $2}' 見やすいように改行入れてみたが実際にはくっつけて記述。
- 285 名前:名無しさん@お腹いっぱい。 [2007/03/13(火) 21:15:45 ]
- >>284
できました! ありがとう。 なんでできるのか、もう少し詳しく 教えていただけないでしょうか?
- 286 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 21:48:08 ]
- awk に渡したい文字列を分解するだけだよ。
シェルの解釈する文字をエスケープしながらね。 だから、 '{printf "'"'%s'"'\n", $1}' などでもいい。
- 287 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 21:49:44 ]
- $1じゃなくて$2だったか
- 288 名前:名無しさん@お腹いっぱい。 [2007/03/13(火) 22:15:15 ]
- wgetの実行結果をファイルに書き込みしたいんですけど
wget アドレス >>ファイル名 で実行して失敗しました。 どうしたらいいかわかりますか?
- 289 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 22:19:00 ]
- わかりますよ。
- 290 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/13(火) 22:25:01 ]
- wget --help
- 291 名前:名無しさん@お腹いっぱい。 [2007/03/14(水) 17:16:17 ]
- テキストファイルのある行が2chのdat形式かどうかを
正しく判別するにはどうすればいいでしょうか? grep -E ".*<>.*<>[0-9]+/[0-9]+/[0-9].* [0-9:.]+ ID:[a-zA-Z0-9+-/]+<>.*<>.*" こんな感じでひっかけようと思ったのですが、 何かの間違いでメール欄やレス欄に <> が まぎれこんでしまってる場合でもマッチしてしまいます。 やりたいことは、このようなゴミのまじった行を削除することなのですが どうするのがよいでしょうか?
- 292 名前:名無しさん@お腹いっぱい。 [2007/03/14(水) 18:47:38 ]
- あ、しまった。
- 293 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 21:33:18 ]
- > ゴミのまじった行を削除する
全部捨てたらいいんじゃないか。
- 294 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 22:54:48 ]
- 無理にシェルで書かんでもいいんでは。
- 295 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/14(水) 23:24:19 ]
- >>288
-O
- 296 名前:名無しさん@お腹いっぱい。 [2007/03/15(木) 03:28:47 ]
- >>270
宿題にするな。テストにしとけ。
- 297 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 09:45:11 ]
- ペーパーテストで一発完動のスクリプトかける奴なら即戦力だな。
- 298 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 23:41:20 ]
- ShellScriptの中でscpとsshを使用しようと思っているのですが
普通に構文を書くとパスワード入力等を求められると思うのですが 手動入力でなく、完全自動化にできないでしょうか? Shellは「sh」です。 OSはRedhatです
- 299 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 23:42:09 ]
- >>298
ssh-agent
- 300 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/15(木) 23:53:17 ]
- ssh-agent を使用するしか方法はないですか?
他のプログラムとかの絡みで使用できるか・・・・
|

|