- 1 名前:デフォルトの名無しさん [2005/04/04(月) 03:43:03 ]
- シェルスクリプトに関する質問・回答や議論等を行う相談室スレッド。
- 175 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 17:30:08 ]
- >>174ありがとうございますー!
素敵です・・・
- 176 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 10:21:45 ]
- いや、manページを読めば判ることで素敵って言われても。
- 177 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 12:24:42 ]
- >>176すいません
何のmanページ見たらいいのかわかりませんでした・・・ そこでまた質問させてください useraddを実行したとき自動でパスワードを入力させるにはどうしたらいいでしょうか?
- 178 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 12:53:51 ]
- つ[man bash]
- 179 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 19:49:25 ]
- 仏の顔もってやつだなw
- 180 名前:177 mailto:sage [2005/11/21(月) 23:41:48 ]
- ちょっと質問間違えました
シェルスクリプトでpasswd hogeを実行した場合 パスワードを求められますが、これを全部シェルスクリプトで行いたい。 これって無理でしょうか?
- 181 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 00:58:02 ]
- このスレで、passwordとかパスワードとか検索して、その前後100回読んで、
あと、UNIX板のシェルスクリプトスレでも同じことして、 それでもわからなければあきらめろ
- 182 名前:177 mailto:sage [2005/11/22(火) 01:48:17 ]
- >>181
ありがとう がんばってみます
- 183 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 02:18:59 ]
- なんかUNIX板で似たような質問を見てきた気がするけど、気のせいかな?
- 184 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 04:40:34 ]
- >>183
がんばる=他のスレでも質問する だったみたいだな。w
- 185 名前:デフォルトの名無しさん [2005/11/26(土) 11:08:04 ]
- shellスクリプトの開発環境ってありますか?
べた打ち、ベタ読みは不便で・・・ 命令文や変数に色がつく程度でも良いのですが・・・
- 186 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 11:33:47 ]
- >>185
お使いのエディタに、キーワードを登録してください。 登録済みキーワードに色がつかないエディタをお使いなら、適宜乗り換えてください。
- 187 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 17:29:36 ]
- 試しにxyzzy bash-mode でぐぐったら引っかかった。
いいかも、これ。
- 188 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 20:10:23 ]
- 何で色が付かないと不便なんだろう
漏れは逆に色が付いてると禿しく見にくい
- 189 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 21:31:21 ]
- 色使いが悪いだけじゃないのか
- 190 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 22:30:11 ]
- エディタ操作って「慣れ」とか「親しんだ環境」が最重要事項だから
- 191 名前:デフォルトの名無しさん [2005/11/26(土) 23:20:32 ]
- >>186
えーとえーと、 viエディタでガリガリ書いて、コンパイルして ってのに疲れたんです。 teratarm君はお目目に優しくないし・・・ エディタが擬似的に実行したりしてくれないかなあ・・・ >>187 情報ありがとうございます。 でもエディタそのものの使用で挫折しました。
- 192 名前:デフォルトの名無しさん mailto:sage [2005/11/26(土) 23:23:07 ]
- >>191
コンパイル?
- 193 名前:デフォルトの名無しさん [2005/11/27(日) 00:05:10 ]
- >>192
まちげーた・・・ sh ほにゃらら で、毎回実行して ってのが正解です。 別にshって打つのは辛くないです。パス通す方が雌鳥なだけです。 まあその程度の人間だってことです。俺は。
- 194 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 00:14:21 ]
- パス通す?
- 195 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 00:44:41 ]
- 実行権限与えるのがめんどくさい、じゃねーのか?
パスが通ってなかったら、sh 打ったって実行できん。 chmod 777 hoge するのが面倒なら、それこそシェルスクリプト組んどけ。
- 196 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 00:50:44 ]
- #!/hoge
すら書いてなさそうな香具師だな
- 197 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 01:28:22 ]
- まあ何だか知らないが、今までvi使ってたんならvimはどうよ。あれ
色つくだろ。
- 198 名前:デフォルトの名無しさん [2005/11/27(日) 01:32:53 ]
- なるほどー。
でも何でか、sh でカレントから新しくシェルを起動できるんだけどな? ファイル名単体で打ったらダメだけど・・・環境変数に書いた覚えないし。 と思ったら、スクリプトの一行目が #!/bin/sh だったことを思い出した。 なるほど。そうか、パスは通してるのか。ふむふむ。 「実行権限を与えてパスを通す」。なるほどなるほど。 いやー、どれだけ自分の知識が曖昧か再認識しましたよ。
- 199 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 02:00:46 ]
- >>197
どうやらvimにシェルは無いっぽいです。 というわけで、terapadの色の設定を ガリガリ書き換えることにしました。 皆様お世話になりました。 また何かあったらよろしくお願いします。
- 200 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 02:14:08 ]
-
200
- 201 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 10:30:51 ]
- >>195
>パスが通ってなかったら、sh 打ったって実行できん。 へ?
- 202 名前:デフォルトの名無しさん mailto:sage [2005/11/28(月) 00:05:03 ]
- 俺も>>195は意味不明だが、スルーした方がよい気がする
- 203 名前:デフォルトの名無しさん [2005/12/04(日) 19:53:23 ]
- ファイル名を一括置換するシェルスクリプト
#! /bin/sh for nm in temp*; do mv $nm HOGE${nm#tr}; done temp → HOGEにするのはわかるのですが、 hhh_a_xxxxxxxxx.txt → hhhaxxxxxxxxx.txt のように _ を削除(一括置換)するスクリプトを教えてください。 ※xxxxxxxxxは可変
- 204 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 21:14:19 ]
- >>203
方法は色々あるけど tr -d あたりがお勧め。
- 205 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 22:40:36 ]
- >>204
tr のコマンドの意味はわかったんだけど、どうやってコマンド組み合わせればいいの? tr は標準出力のものを対象にしてると書いてあったけど、コマンドの組み合わせ方が、わかんないです。
- 206 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 23:17:46 ]
- >>204
#!/bin/sh for f in hoge* do mv $f `echo $f | tr -d 削除文字` done できたよ。ありがとう。
- 207 名前:デフォルトの名無しさん [2005/12/09(金) 19:09:12 ]
- 質問なんですけど、
NTのコマンドプロンプトで テキストファイルが二つあって 中身を片方にアペンドしたいのですが どう記述したらいいでしょうか? マニュアルも何もなくて一人で困ってます
- 208 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 19:10:20 ]
- type a.txt >> b.txt
- 209 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 20:00:54 ]
- ありがとうございました
ホント助かります
- 210 名前:デフォルトの名無しさん mailto:sage [2005/12/10(土) 02:05:23 ]
- helpコマンドがある
- 211 名前:デフォルトの名無しさん [2005/12/12(月) 13:58:44 ]
- 数100人のユーザがいるLinuxで
全ユーザのパスワードを一括で設定できる シェルスクリプトを教えろよ。
- 212 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 14:04:46 ]
- sed 's/:[^:]:/:hoge:/'
- 213 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 22:19:23 ]
- evalって問答無用に変数を展開しちゃうんですよね?
- 214 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 22:39:28 ]
- どういう局面のことを言ってるのかわからんけど、
変数を展開するのはevalじゃないと思われ。 多分だけど、eval以前に変数が展開されてるんちゃうか。再確認してみ。 evalは展開された結果を評価してるだけのはず。
- 215 名前:デフォルトの名無しさん [2005/12/19(月) 15:43:31 ]
- user> ./a.out < a000001.txt > result.txt
で結果をtxt化しているのですが、a000001.txtをa100000.txtまで処理させて 一個一個の結果を足して一つのtotal_result.txtしていきたいのです。 どのようにしたら良いのでしょうか? 具体的にはa000001.txtは以下のように出力されたとします。 1 0 3 2 4 3 3 7 7 4 8 3 5 8 1 6 2 8 7 0 4 8 2 3 a000002.txtも以下のように出力されたとします。 1 0 3 2 2 6 3 4 7 4 6 3 5 2 2 6 6 9 7 1 1 8 1 2
- 216 名前:デフォルトの名無しさん [2005/12/19(月) 15:44:16 ]
- これが10万まで続くのですが、結果の2列目と3列目を足していきたのです。
1 0 6 2 6 9 3 11 14 4 14 6 5 10 3 6 8 17 7 1 5 8 3 5 (これは先ほどの二つの結果の合計です)
- 217 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 16:06:02 ]
- スレ違い回答だが
awk '{x[$1]+=$2;y[$1]+=$3;} END {for(i=1;i<=3;i++)printf("%d %d %d\n",i,x[i],y[i]);}' result*.txt
- 218 名前:215 mailto:sage [2005/12/19(月) 18:20:06 ]
- >>217さん
レスありがとうございます。 UNIX初心者な者で解答をみてもよく分からないのが現状です。 gccでコンパイルした後、どうしていけば10万のファイルの結果を合計していけるのでしょうか? スレ違いとは思いますが、ご指導いただけたらと思います
- 219 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 19:12:10 ]
- んなのプログラムの方変更した方が早いよ
- 220 名前:デフォルトの名無しさん mailto:sage [2005/12/19(月) 19:14:39 ]
- んなのが調べられないぐらいのレベルなら
聞いてボーッと回答待つより1万行のバッチ書け。
- 221 名前:デフォルトの名無しさん mailto:sage [2005/12/20(火) 20:43:04 ]
- 変数置換えで入れ子したい!
${${NAME##*/}%.*} こゆー事したい場合どんなのがスマート? わかりにくいね、上のはbasename ${NAME%.*} なんだけど
- 222 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 02:55:27 ]
- >>221
$ x=/a/b/c.d $ y=${x#${x%?}} $ echo $y d こういう事ならできるけど、前後を一変に取り除く方法は知らない。 $ x=/a/b/c.d $ y=${x%.*} $ y=${y##*/} $ echo $y c これじゃダメなの?
- 223 名前:デフォルトの名無しさん mailto:sage [2005/12/21(水) 09:50:00 ]
- >>215
joinを知れば何かが見えてくる。
- 224 名前:デフォルトの名無しさん mailto:sage [2006/01/07(土) 16:12:11 ]
- 質問です。
例えばdateで現時刻をvar.txtに出力するとします。 date > var.txt txtファイルの中身は時間が書いてあると思うのですが、 もう一度↑のコマンドを実行した場合に、中身も上書きされてしまいますよね? それで同じファイルに↑のコマンドの実行結果を書き足していくことは不可能ですよね。 可能でしたらその方法をおしえてくだしあー
- 225 名前:デフォルトの名無しさん mailto:sage [2006/01/07(土) 16:19:45 ]
- >>224
date >> var.txt
- 226 名前:デフォルトの名無しさん mailto:sage [2006/01/07(土) 16:20:23 ]
- >>225
どうも
- 227 名前:デフォルトの名無しさん [2006/01/09(月) 18:04:46 ]
- ある年月が入力された時に、その前後の年月を出力するには
どのようにすればよいでしょうか? 例: 200512と入力されると、200511 200601が出力される
- 228 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 18:07:50 ]
- >>227
つ date コマンド
- 229 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 18:21:10 ]
- dateコマンドでどのようにして前の月や次の月を
表示させるのですか?
- 230 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 18:21:27 ]
- >>227
cut,sed,date,exprくらいでできそう
- 231 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 20:53:50 ]
- >229
すくなくともgnuのdateはできるよ ttp://www.linux.or.jp/JM/html/GNU_sh-utils/man1/date.1.html
- 232 名前:227 mailto:sage [2006/01/09(月) 22:31:15 ]
- >231
おおこんなことができるのですね。 勉強になりました。 これでなんとかできそうです、ありがとうございました。
- 233 名前:デフォルトの名無しさん mailto:sage [2006/01/09(月) 22:38:31 ]
- どんな気持ちでこんなものを通したのか・・・
date --date '2 days ago' days agoって・・・
- 234 名前:227 mailto:sage [2006/01/09(月) 23:50:58 ]
- 行けそうと思ったのですが、現在時からの日にち計算しかできませんでした。
うーん。。 特定した日にちから指定するのは無理かもしれません。。
- 235 名前:デフォルトの名無しさん [2006/01/10(火) 00:05:08 ]
- 試してないので外れだったらスマンが
date --date '20060101 + 1 month'
- 236 名前:227 mailto:sage [2006/01/10(火) 00:12:55 ]
- >234
いけました汗 ずっと1 monthの部分を外に出して実行してた大馬鹿者でした。 ありがとうございました。
- 237 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 05:42:11 ]
- bash
って何て読むんですか? ばっしゅ ヴぁっしゅ びーしぇる ヴぉーんしぇる ヴぉーんあげいんしぇる ぷろんぷと・ヴぁっしゅ ヴぁにっしゅ 皆さん何て読んでますか?
- 238 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 06:54:52 ]
- bash
- 239 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 06:59:25 ]
- シーシェルは孤高
- 240 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 10:36:42 ]
- csh使ってる奴って変態なの?
- 241 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 12:13:36 ]
- Solarisだと標準がcshだし。
- 242 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 17:05:01 ]
- tcshが使えるのにcshを使ってたら変態
スクリプト書くのにもcshを使ってたら変態
- 243 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 20:09:55 ]
- >>241
こらこら、嘘を教えなさんな。
- 244 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 20:22:49 ]
- Solaris 1 のころならな
- 245 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 21:42:11 ]
- >>243
Admintoolでshとcsh以外選べたっけ?
- 246 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 22:10:04 ]
- >>245
admintool 自体が obsolete.
- 247 名前:デフォルトの名無しさん mailto:sage [2006/01/10(火) 22:33:06 ]
- そうだったのか。
- 248 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 03:43:32 ]
- Oracle入れるとcsh押し売りされるよね
- 249 名前:デフォルトの名無しさん mailto:sage [2006/01/11(水) 04:03:14 ]
- あれは謎シェルだねw
何で直さないんだろうか。
- 250 名前:デフォルトの名無しさん [2006/01/22(日) 17:16:33 ]
- command | tee log | grep hoge
としたときに、commandの終了ステータスを知る方法はありませんか? command > log ret=$? grep hoge log としとけばretを見ることで可能なんですが、それ以外で。
- 251 名前:デフォルトの名無しさん mailto:sage [2006/01/23(月) 00:42:08 ]
- kwsk
- 252 名前:デフォルトの名無しさん mailto:sage [2006/01/23(月) 16:39:20 ]
- (command; echo $? >/tmp/hoge) | ....
じゃだめ?
- 253 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 12:23:51 ]
- >>252
おお、なるほど! ありがとうございます。
- 254 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 22:18:39 ]
- シエル先輩をいぢくるスレはここですか?
- 255 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 06:00:01 ]
- >>250
もう遅いかな? bash には PIPESTATUS ってシェル変数があるよ。 $ true | false | exit 3 | true $ echo ${PIPESTATUS[@]} 0 1 3 0
- 256 名前:デフォルトの名無しさん [2006/02/19(日) 05:53:58 ]
- ファイルの更新日時を取得する方法を教えてください
- 257 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 12:04:08 ]
- >>256
stat でもSunとかHPとかないOSもあるかも。
- 258 名前:デフォルトの名無しさん mailto:sage [2006/02/19(日) 13:39:39 ]
- >>256
つ[`ls -l`]
- 259 名前:デフォルトの名無しさん [2006/02/25(土) 01:29:18 ]
- 超初心者な質問で恐縮なのですが、、
*.jpgと*.JPGのファイルを判断して *-new.JPGのように名前を変更するには どのようにしたら良いでしょうか? お知恵をお貸しください。 よろしくお願いします。
- 260 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 01:53:34 ]
- ls *.jpg|sed -e 's/\(.*\).jpg/mv \1.jpg \1-new.JPG/' > /tmp/foo
とでもして、 source /tmp/foo でどう?
- 261 名前:デフォルトの名無しさん mailto:sage [2006/02/25(土) 02:50:31 ]
- bash + find ならこんな感じ?
find . -regex '.*\.\(jpg\|JPG\)' |while read i; do mv "$i" "${i%.*}-new.JPG"; done
- 262 名前:デフォルトの名無しさん [2006/03/14(火) 17:51:21 ]
- @@@
- 263 名前:デフォルトの名無しさん mailto:sage [2006/03/14(火) 18:29:29 ]
- 【積年の】旦那にしてる密かな仕返し【恨みじゃー】
human5.2ch.net/test/read.cgi/ms/1141694640/ 8 名前:可愛い奥様[] 投稿日:2006/03/07(火) 11:05:23 ID:8dtluKkp 夫の歯ブラシで洗面所の排水溝掃除。 洗面所をビショビショに汚した罰だ。 20 名前:可愛い奥様[age] 投稿日:2006/03/08(水) 00:40:17 ID:pRrk6A21 前に頭きた時あって 1度だけ歯ブラシで肛門カキカキしちゃった 22 名前:可愛い奥様[] 投稿日:2006/03/08(水) 01:27:12 ID:gU5mHc7J よかった。どこのお宅も同じようなことしてて。 24 名前:可愛い奥様[] 投稿日:2006/03/08(水) 01:36:35 ID:SSSFsTqE そうそう、ヘンなモノはダンナのお皿へ直行だよね。 41 名前:可愛い奥様[] 投稿日:2006/03/08(水) 11:55:18 ID:sjj+/60Q 見てるだけで気が晴れるな! 皆さん、頑張ってね! 42 名前:可愛い奥様[sage] 投稿日:2006/03/08(水) 20:33:51 ID:Ju2N1s7+ 年金分割が楽しみじゃのう 63 名前:可愛い奥様[] 投稿日:2006/03/10(金) 08:55:20 ID:qLfJYpJR 家族で密かにはぶっている。 男性は肉体が汚く、精神が美しい傾向がある。(気に入らない相手に肉体的攻撃を加える⇒精神的攻撃も加える男は猛者) 女は肉体が美しく、精神が汚い傾向がある。(気に入らない相手に精神的攻撃を加える⇒肉体的攻撃も加える女は猛者) 女は隠れて悪事をする。気に入らない女子を便所でボコったり、便器舐めさせたり、男の友人を使ってレイプ、仲間外れにしたり。陰口、嫉妬。 女は対人関係において、この汚い性格を隠そうとするため、外面が非常によくなる。(猫かぶり) 男性諸君は外面に騙されないように気を付けて下さい。
- 264 名前:デフォルトの名無しさん mailto:sage [2006/03/18(土) 01:37:12 ]
- ²
- 265 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 20:34:48 ]
- TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
- 266 名前:デフォルトの名無しさん [2006/05/30(火) 23:27:37 ]
- 質問です。Solaris9で、
rsh 192.168.1.1 su - user -c
- 267 名前:デフォルトの名無しさん [2006/05/30(火) 23:30:23 ]
- 質問です。Solaris9で、
rsh 192.168.1.1 su - user -c "ls -l" みたいな事やりたいんですけど、 "ls -l"のオプション部分が有効になりません。 なんとかならないでしょうか?
- 268 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 03:19:58 ]
- >>267
リモートで実行するコマンドをまとめて括れ rsh 192.168.1.1 'su - user -c "ls -l"'
- 269 名前:デフォルトの名無しさん [2006/05/31(水) 11:10:05 ]
- 初歩的ですみませんがファイルのreadで質問があります
以下のreadの仕方では最終行にリターンコードがないと 最終行を読んでくれません。※リターンコードがあればreadしてくれますが・・・。 読む方法はないでしょうか cat /aaa.txt | while read FILE do echo $FILE done aaa.txtの内容(この例だとghiを読み込まない) abc def ghi
- 270 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 11:43:23 ]
- >>269
catじゃなくて、必ず改行するタイプのフィルターに通せばいい。 例えば、awk '{print;}'でもいける。
- 271 名前:デフォルトの名無しさん [2006/06/09(金) 13:30:25 ]
- 〜日前のファイルを削除するようなスクリプトを作成したいのですが
どのような感じになりますか?
- 272 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 13:34:39 ]
- >>271
findではいけない理由があるのかね。 取り敢えず、1日(24時間)以上前のファイルを無条件に削除するならこんな感じ。 find . -mtime +1 -exec rm {} \;
- 273 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 14:18:24 ]
- ctimeじゃないのか
- 274 名前:デフォルトの名無しさん [2006/06/09(金) 23:03:08 ]
- >>269
それ、最後の行まで普通にでたんだが、OSによるもんなのか 当方HP
- 275 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 08:59:55 ]
- 何となく本末転倒な対処
perl -wne 'chomp;print $_."\n";' ./aaa.txt | while read FILE do echo $FILE done
|

|