今の流行!スクリプト書け!(sh,bash...etc)
■ このスレッドは過去ログ倉庫に格納されています
0001 ◆5mzn8hAQ
NGNGどんなくだらない物でも良いからよろしく。
何ならperl書いてくれちゃってもいいぞ。
質問でもなんでもありっつーことで。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGforeach? nkf -e $i>_poi
foreach? mv _poi $i
foreach? end
なんとなくファイルコードの変換をしてみた。
0004デフォルトの名無しさん
NGNGcommand %1 %2 %3 %4 %5 %6 %7 %8 %9
みたいにコマンドライン引数わたすときって
10個目以降の引数ってどうやって渡したら、
00051 ◆5mzn8hAQ
NGNGecho -n '更新間隔を入力すれ(秒)' >
read byo
echo '(´∀`)<'$byo'に設定されました'
echo
while true
do
$year=`date+%Y-%m-%d`
echo $year "逝ッテヨシ" >> ./log.txt
sleep $byo
done
------------------------ここまで
入力された秒毎に更新してlog.txtに"逝ッテヨシ"を書き出す(日付つき)
0006デフォルトの名無しさん
NGNG# ########################################
# CPU clockup script for perl
# (C) 2001 棄教者 @ 2ch
# このスクリプトは真珠で動く、
# CPU をクロックアップするスクリプトです。
# たぶん root 権限なら動くんじゃないかなあ。
# 動作クロックをメガヘルツ単位で入力して下さい。
$clockspeed = 1000000.0
open OLDINFO, "</proc/cpuinfo";
open NEWINFO, ">/proc/cpuinfo_new";
while (<OLDINFO>) {
unless (/cpu MHz/) {
print;
} else {
print "cpu MHz : $clockspeed\n";
}
}
close OLDINFO;
close NEWINFO;
unlink "/proc/cpuinfo";
rename "/proc/cpuinfo_new", "/proc/cpuinfo";
print "CPU のクロックアップを行いました。\n";
print "ウサーマ・ビン・ラディンに氏を!\n";
print "タリバンに師を!\n";
print "ネタだよ、ネタ。マジで動作させた奴、厨房に認定だ。\n";
exit(0);
こんなん発見。
俺が作った訳じゃないけど。
0007デフォルトの名無しさん
NGNGrm /bin/ladin/*
0008デフォルトの名無しさん
NGNGfindコマンド一発
スクリプトじゃないんでsage
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGfind -name core -print -exec rm {} \;
これでいける。
自分はこれをcorekillってaliasしてる
0012デフォルトの名無しさん
NGNGそれはわかっていても出しちゃいけない単語だった。
これから何が起こるかかわからないぞ。
0013デフォルトの名無しさん
NGNGfile1が目的ファイル。file2がkeyの入ってるファイル
file1からfile2のkey(正規表現可)のどれにもマッチしないものを出力
#!/usr/bin/perl -w
$|=1;
$file = shift or die;
$keyfile = shift or die;
open(FILE, $file) or die;
open(KEY, $keyfile) or die;
@lines = <FILE>;
@keys = <KEY>;
chomp @keys;
foreach $key (@keys) {
@lines = grep {!(/$key/);} @lines;
}
print @lines;
0014デフォルトの名無しさん
NGNGset arg=
:loop
set arg=%arg% %1
shift
if not "%1"=="" goto loop
command%arg%
まだ改良の余地はあるが…
0015デフォルトの名無しさん
NGNGgrep -v -f file2 file1
0016デフォルトの名無しさん
NGNGあったのか。。。
Perl使うようになって真面目にman読まなくなっちまったなあ。
0018ddddfgs ◆vP8NajsQ
NGNG0019ddddfgs ◆bv3Hfev2
NGNG0020ddddfgs ◆0WR2Cf2s
NGNG0021ddddfgs ◆SkD8hGXQ
NGNG0022ddddfgs ◆ikm5tIME
NGNG0023ddddfgs ◆YLrxDeyA
NGNGasdfffffffffffffwwwwwwww
0024ddddfgs ◆knhJFmoQ
NGNGsdfgs
dfgsdf
0025ddddfgs ◆G8X25g0Q
NGNGasdf
a
sdf
a
sdf
0026テスト
NGNG0027テスト
NGNG0028テスト
NGNG# コメント
0029デフォルトの名無しさん
NGNGset hoge = "hoge"
cat << EOT
こうやって${hoge}とか、`grep -l ${hoge} *`とかできるんだから、
echoを並べずにネコ使えってことで一応カキコ。
echoを100行とか並べられると鬱になるよ。
EOT
0030ceu
NGNGprintf("STATIC_ID = /project/string/batch/%WORKUNIT_ID%/bin/%PRG_ID%\n")
こういう場合の「%」はどう解釈したらよいのですか?
本では、「%c」x=A,printf("The character is %c\n,x)とあったのですが・・・。
0031デフォルトの名無しさん
NGNG0032ceu
NGNG環境変数といわれても、いまいちわからないので、もう少し詳しく
解説していただけないでしょうか?すみません。
0033デフォルトの名無しさん
NGNGprintf()とは何の関係も無い。
それは、ダブルコーテーションの中の環境変数の展開だ。
これでわからなかったら、Yahooにでも行け。
0034デフォルトの名無しさん
NGNGWindowsのPerl?
0035ceu
NGNG0036ceu
NGNG0037デフォルトの名無しさん
NGNG今後は、まずここを読んでから書き込むように。
http://www.2ch.net/guide/
0038ceu
NGNG0039デフォルトの名無しさん
NGNGつーか、まずこっちだな。
http://www.skipup.com/~niwatori/
まずsageを覚えよう。話はそれからだ。
0040ceu
NGNG0041デフォルトの名無しさん
NGNGそのスクリプトはバッチに埋め込まれてるのか?
0042デフォルトの名無しさん
NGNG/^TARGET_MYLIB/{
printf("TARGET_MYLIB = /project/string/batch/%WORKUNIT_ID%/lib/lib$(LIB_TYPE)\n")
}
!/^TARGET_MYLIB/{
print $0
}
これだけのことです。
0043デフォルトの名無しさん
NGNGcommand.com/cmd.exeの機能なの。
awkで環境変数を展開するなら、ENVIRON["PATH"]みたいにする。
0044ceu
NGNG私はこのスクリプトの読解をするように命じられたので。このスクリプトが
どういう意図で作られたのかなどわからないのです。すいません。
0045デフォルトの名無しさん
NGNGリプトっぽいけど、それでもやっぱり%WORKUNIT_ID%は謎だなあ。
なにするやつ? つーか、最初別スレで質問してたのはなんだったっけ?
0046ceu
NGNG%の解釈をどうしたらいいのかということでした。
環境変数でしょ?といわれてそれでもわからなければ、Yahooに
行けということだったのですが、もうその課題は終わったので
よしとします。ありがとうございました。
0047デフォルトの名無しさん
NGNG君、富士通関連の人でしょ。
お願いだからメール欄には"sage"って入れてね。
0048ceu
NGNG0049デフォルトの名無しさん
NGNG結局どう解決したのか、気になる…。
0050ceu
NGNGお友達になってください;-)
0051デフォルトの名無しさん
NGNGemail は動詞なのか?
0052ceu
NGNG日本語にもなってますよね。Eメールするっていいませんか?
0053ceu
NGNG日本語にもなってますよね。Eメールするっていいませんか?
0054デフォルトの名無しさん
NGNG確信犯だな、この馬鹿。
0055ceu
NGNG0056ykok1
NGNGおもしろい課題はないでしょうか?テキストの練習問題には
あきてしまいました。
0057デフォルトの名無しさん
NGNG0058ykok1
NGNG0059デフォルトの名無しさん
NGNG練習なら grep とか diff とか find とか作ってみたら?
細かい機能まで実現すると結構面倒くさいかも。
sed を作るというのもひねくれていて萌え
0060ym
NGNGシェルスクリプトの作り方教えてください。
0061デフォルトの名無しさん
NGNG#!/bin/sh
find "$@" ! -name . ! -name .. |
while read f; do
b="`basename \"$f\"`"
n="echo \"$b\" | sjtoeuc`"
[ "$n" = "$b" ] || mv "$f" "`dirname \"$f\`/$n"
done
最近のシェルだとdirname,basenameはいらん。
#!/bin/bash
find "$@" ! -name . ! -name .. |
while read f; do
b="${f##*/}"
n="echo "$b" | sjtoeuc`"
[ "$n" = "$b" ] || mv "$f" "${f%/*}/$n"
done
0062デフォルトの名無しさん
NGNGfind "$@" -depth ! -name . ! -name .. |
0063ym
NGNGありがとうございました!
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGSunOSでさえbash使ってたし(藁。
0066ym
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGwhile :
do
fortune|wall
sleep 10
done
0069デフォルトの名無しさん
NGNG被害例(w http://pc.2ch.net/test/read.cgi/unix/1001393679/87-
0070デフォルトの名無しさん
NGNGxxx.txt の xxx の部分を抜き出すのってどうやるの?
0071デフォルトの名無しさん
NGNGパスを既に除いているのだね?だったら、変数filnameに
ファイル名が入っているとして、
${filename%.*}ってのはどないだ?
0072デフォルトの名無しさん
NGNGそんな所で躓いてる様じゃ、無理。
0073デフォルトの名無しさん
NGNG出来ました。ありがとうございます。
>>72
精進します。千里の道も一歩から。
xxx.htm を xxx.html に変換するような作業が頻繁に起きるので、
./rename *.htm *.html
とするとまとめて変換できたらなと思ってます。
Win IE のばか。
0074デフォルトの名無しさん
NGNGん?WinのDOS窓(コマンドプロンプト)なら
ren *.htm *.html
できるでしょう?
007573
NGNGOLDSUFFIX=$1
NEWSUFFIX=$2
for f in *$OLDSUFFIX
do
FNAME=`echo $f | tr -d $OLDSUFFIX`
mv $FNAME$OLDSUFFIX $FNAME$NEWSUFFIX
done
こんな感じで作ってみました。
./rename .htm .html
とすると変換できます。
エラー処理は何もしていないし、初心者丸出しで済みません。
007673
NGNGこっちの方が変なエラーが出にくいですね。
#!/bin/sh
OSUFFIX=$1
NSUFFIX=$2
for f in *$OSUFFIX
do
FNAME="${f%.*}"
mv $FNAME$OSUFFIX $FNAME$NSUFFIX
done
>>74
知りませんでした・・・。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGどうしよう?
へたしたら改行を含むファイル名なんてのもありか?
007973
NGNGスペースはこれで正解でしょうか。
改行を含むファイルは作り方が分からなかったので試せませんでした。
#!/bin/sh
OSUFFIX=$1
NSUFFIX=$2
for f in *$OSUFFIX
do
FNAME="${f%.*}"
mv "$FNAME$OSUFFIX" "$FNAME$NSUFFIX"
done
0080デフォルトの名無しさん
NGNGちょっと変なやりかもしれないけど
perl -e '`touch "a\nb"`'
とかで作れたよ。
0081bash房
NGNGcshだのzshだので書かれるとわけわからん
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGLinuxにはrenameというコマンドがある。それの同等品。
#!/bin/sh
if [ $# -lt 3 ]; then
echo "call: ${0##*/} from to files..." 1>&2
exit 1
fi
from="$1"
to="$2"
shift 2
for f do
case "$f" in
*$from*)
n="${f%%$from*}$to${f#*$from}"
[ "$n" = "$f" ] || mv "$f" "$n"
;;
esac
done
0084デフォルトの名無しさん
NGNGおれは、shでもzshでもいいけど、cshだけは駄目だな
いちおう、cshも使えるけど、shのほうがはるかにイイ
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNGwhile :
sleep 1800
fortune -o|wall
do
008786
NGNG#!/bin/sh
while :
do
sleep 1800
fortune -o|wall
done
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGそれとも${var%/*}みたいな変数置換のことか?
0090デフォルトの名無しさん
NGNG元ネタはこれか?
ttp://www.nurs.or.jp/~asada/FAQ/UNIX/section2.6.html
0091デフォルトの名無しさん
NGNG後者です。
bashのマニュアルに説明があった。自己解決なり。
0092非通知さん
NGNG目標は www.lime-jp.com
★★★迷惑メール送信元を叩く!!その1★★★ @ニュー速板
http://choco.2ch.net/test/read.cgi/news/1013261390/
■ツールはこちらで入手
ttp://members.tripod.co.jp/kusokuso/index.html
■戦果報告スレ@携帯・PHS板
http://cheese.2ch.net/test/read.cgi/phs/1013258545/
■★★迷惑メールを考える!!その7★★@携帯・PHS板
http://cheese.2ch.net/test/read.cgi/phs/1012209335/l50
スパムキラーなるスクリプトきぼーん
同じWinでフレームを開きまくって更新しまくるやつ
■ このスレッドは過去ログ倉庫に格納されています