シェルスクリプト総合@LINUX Part3
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2007/07/10(火) 23:17:13ID:qGthZdMEまあそれはそれとして、BASHウゼーとか言われる心配なく
平和にLINUX的スクリプト談義しましょうよ。
初めての自作スクリプト、自信ないから見てください。な初心者から
トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで
いろいろな人に参加して頂けると嬉しいです。
perlやらPythonやらの話が混ざっても良いんでない?
【sed】シェルスクリプト総合@LINUX Part2【awk】
http://pc11.2ch.net/test/read.cgi/linux/1154578200/
http://pc8.2ch.net/test/read.cgi/linux/1121994321/
>>2-5あたりに色々と。
0266login:Penguin
2007/10/23(火) 17:50:56ID:OMh5qn/Oサイト名だけの文字を取りたかったので、cut -c57- としました。
>>264
申し訳御座いません。
ログファイル名からサイト名だけを文字を取り出して、取り出した文字
(サイト名)のフォルダを作って、作ったフォルダにそれぞれログを
振り分けてログファイルをマージさせたいです。
これで、少しは伝わりますでしょうか?
>>265
$logの結果からサイト名の文字だけ取りたかったので、echo $logを
いじっています。
0267login:Penguin
2007/10/23(火) 18:08:13ID:XqFIvlF4プログラミングの論理部分を勉強したほうがいい。
「やりたいこと」と「実際のスクリプト」の間には
「ロジックを組み上げる」作業が必要になるが、
君はこの部分について全く理解できていないようだ。
まずは
「findで検索したファイルの一覧はどういう形で変数logに入っているのか」
「その変数logに対して繰り返し処理を行なうにはどうしたらよいか」
を調べてくるべし。
0268login:Penguin
2007/10/23(火) 18:09:14ID:4jX2ZQqu0269login:Penguin
2007/10/23(火) 18:17:19ID:OI+rqPplfind . -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作って実行
0270login:Penguin
2007/10/23(火) 18:18:51ID:OMh5qn/Oアドバイスありがとうございます。
正直、インフラ担当なのでプログラムさっぱりです(;´Д`)
とりあえず、ググって調べてみます。
>>268
もう少し調べてから、スクリプト書き直します。
ありがとうございました。
0271login:Penguin
2007/10/23(火) 18:20:53ID:OMh5qn/Oありがとうございます。
参考にさせて頂きます。とりあえず、スクリプト周りを調べて
書いてみます。
0272login:Penguin
2007/10/23(火) 18:25:49ID:4jX2ZQqucd /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
ファイル数が多過ぎるとかヘンなファイル名とかは知らね。
0273login:Penguin
2007/10/27(土) 10:44:25ID:mm4VeEeLどうやりますか?
0274login:Penguin
2007/10/27(土) 13:17:13ID:D/VUEDKM0275login:Penguin
2007/10/27(土) 13:26:52ID:QMQXG4ov俺のIPサンプルに使うなよ。晒されたら攻撃の的になるだろうが(´・ω・`)
0276login:Penguin
2007/10/27(土) 13:35:53ID:6kGxUA5Uありがとうございました。
0277login:Penguin
2007/10/27(土) 14:33:40ID:NSYPc3Nwネットに繋がらないと思ったらお前のせいかー!
早く俺のIP返してくれよ(´・ω・`)
0278login:Penguin
2007/10/27(土) 15:34:59ID:XQQiaIjqそうか、そんなにお望みなら今から的にしてやるよwww
タシロ砲とブラスターとあと手持ちの攻撃ツールの標的IPを全部セットして攻撃開s
0279login:Penguin
2007/10/27(土) 19:24:46ID:OFawlVSO0280login:Penguin
2007/10/27(土) 21:20:28ID:jIwdHtQL0281login:Penguin
2007/10/29(月) 10:48:36ID:AXA/ueYo0282login:Penguin
2007/10/29(月) 10:55:37ID:PqFYrP+50283login:Penguin
2007/10/29(月) 11:01:37ID:F/RFN0baいややめとく
0284login:Penguin
2007/10/29(月) 18:16:52ID:lN+2vPd7オレのIPは
169.254.88.24だぞ。
0285login:Penguin
2007/10/29(月) 20:28:52ID:vqPZDaQA255.255.255.255 -> 0xffffffff
のように、IPv6表記を16進表記に変換する手続きを考えてくだちい。
f000::1 -> 0xf0000000_00000000_00000000_00000001 ("_"は不要)
ff::169.254.88.24 -> 0x00ff0000_00000000_00000000_a9fe5818
0286login:Penguin
2007/10/29(月) 23:28:48ID:Hdkrl+3D> ruby -rsocket -e 'p Socket.gethostbyname("ff::169.254.88.24")[3].unpack("C16").map{|c|format "%x",c}.join'
"00ff00000000000000000000a9fe5818"
0287login:Penguin
2007/10/30(火) 21:40:02ID:Hmkhn1Qfgethostbyname()等を使えばいいのか。
0288login:Penguin
2007/11/06(火) 00:15:33ID:vKEt0xzk(カラム位置) [col1 col2 col3 col4]
(コマンド出力) 0001 0002 * 0004
である場合にこの結果をset `hoge`で受けた場合、位置変数
$3に「*」が入ってくるようにbashのスクリプトを作成したい
のですが現状ではどうやってもカレントディレクトリ配下の
ファイル一覧が入ってきてしまいます。
何か良い手がありましたら教えて下さい。
0289login:Penguin
2007/11/06(火) 00:55:19ID:M5wBEVHJ0290login:Penguin
2007/11/09(金) 03:25:37ID:r4+4tELyオイオイ!w
マジレスすると
$ set -o noglob
じゃないの
0291login:Penguin
2007/11/09(金) 06:12:20ID:BEUM5jSjzenity を使うとシェルスクリプトで手軽な GUI が作れるぞ
0292login:Penguin
2007/11/09(金) 08:21:31ID:kDM6jkymでトップに出て来るページは、もしかしてケンカを売ってますか?
>最新のGnomeデスクトップを使っていても古いUnixユーザーはすぐにターミナルエミュレータを開いてしまいがちです。
0293login:Penguin
2007/11/09(金) 12:05:22ID:ei55nGr20294login:Penguin
2007/11/10(土) 01:20:06ID:5ErO5tFm音声ファイルをビデオホスティングサイトに投稿時に使用
====================================
#!/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
====================================
0295login:Penguin
2007/11/10(土) 09:47:24ID:9Zj/zooJLinuxから入った人だけど、Gnomeなんてマルチウインドウ端末エミュレータ支援ソフト西か見えません
0296login:Penguin
2007/11/10(土) 11:07:23ID:vw7Wu+HWマルチウインドウ端末エミュレータ支援ソフト力石やら
マルチウインドウ端末エミュレータ支援ソフトホセ=メンドーサやら知らん。
0297login:Penguin
2007/11/10(土) 11:19:14ID:9Zj/zooJ一応ここでタオル投げときますね。つ〜
0298login:Penguin
2007/11/10(土) 18:43:49ID:Skjd8N2z胸にでっかく
「マンモス西」
と書かれたTシャツを着たガイジンが
前からいきなり歩いてきてビビった。
東京は怖い街だよ。
0299login:Penguin
2007/11/10(土) 19:19:41ID:PRddAKpBhttp://engrish.com/
0300login:Penguin
2007/11/10(土) 20:24:35ID:Skjd8N2zあのポールギルバートなんだろうか?
ttp://www.engrish.com/detail.php?imagename=Hate.jpg&category=Clothing&date=2001-11-03
日本に住んでたしなあ。
0301HhMiKdKNVb
2007/11/12(月) 01:38:17ID:J0HpIKvZ0302login:Penguin
2007/11/13(火) 02:33:43ID: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
0303login:Penguin
2007/11/13(火) 07:47:54ID:xB6HVDtO書き換える。
0304login:Penguin
2007/11/13(火) 10:11:50ID:VZT+kd7xzphoto でも使ったら?
0305login:Penguin
2007/11/13(火) 12:34:27ID:v1//zET/for f in `ls -1 /home/me` ; do echo '<img src="images/foo/'$f'" class="full" />'; done
for f in `ls -1 /home/me | gawk '{gsub("\\\.", "-thum.");print}'` ; do echo '<img src="images/foo/'$f'" class="full" />'; done
0306302
2007/11/13(火) 14:02:39ID:tnRwnYpT深夜に回転数が落ちていまして申し訳ないですm(_ _)m
>>304
それも考えたのですが、出来ればこちらの方が良いなと思いまして..
>>305
バッチリ書き出せました、もの凄い感謝なのですが
thumとthum無しのイメージが交互に書き出すことが出来ると思います
教えていただいた物を各ディレクトリに置き換えたものが以下の物なのですが
for f in `ls -1 /www/web_dir/photo_album/images/foo/`; do echo '<img src="images/foo/'$f'" class="full" />'; done
for f in `ls -1 /www/web_dir/photo_album/images/foo/ | gawk '{gsub("\\\.", "-thum.");print}'` ; do echo '<img src="images/foo/'$f'" class="full" />'; done
1行目と2行目を並べて出力できるように努力したのですが...
gawkの部分で引っかかってしまいます、というか1行目しかループしてくれません(T.T)
補足いただければと思うのですが、よろしくお願いします マジ感謝感激です
shell sciptとawkの本もamazonしようと思っています
0307302
2007/11/13(火) 14:19:58ID:tnRwnYpT0308302
2007/11/13(火) 15:05:30ID:tnRwnYpT0309login:Penguin
2007/11/13(火) 15:14:48ID:MuKLiZO1報告して下さい。
0310302
2007/11/13(火) 15:32:02ID:tnRwnYpTfor f in `ls -1 /www/web_dir/photo_album/images/foo/`;
do
echo '<div id="myGallery">';
echo '<div class="imageElement">'
echo '<h3>Item 1 Title</h3>'
echo '<p>Item 1 Description</p>'
echo '<img src="images/foo/'$f'" class="full" />';
echo '<img src="images/foo-thum/'$f'" class="full" />';
echo'</div>';
echo ' ';
done
0311login:Penguin
2007/11/13(火) 15:42:18ID:MuKLiZO10312302
2007/11/13(火) 16:02:23ID:tnRwnYpT0313login:Penguin
2007/11/13(火) 18:23:44ID:v1//zET/ls -1 /www/web_dir/photo_album/images/foo/ | gawk '{gsub("\\\.", "-thum.");print}'
ここだけ実行するとどうなるの?
0314login:Penguin
2007/11/16(金) 18:50:01ID:q8UeZNS0のようにコマンドを打ち込むと
/a/b/c/d/hoge1
/a/b/c/d/hoge2
/a/b/c/d/hoge3
のように出力が帰ってきますよね。この中から
hoge1, hoge2, hoge3 の部分のみ、つまり ディレクトリ階層の一番深い部分のディレクトリ名
のみを得る為にはどうすれば良いのでしょうか?シェルスクリプト内で必要なのですが
分かりません。教えてください。
自分で調べた限りだと basename とか dirname がそれに近そうだったのですが、
ちょっと違うようです。他には見つけることが出来ませんでした。
0315login:Penguin
2007/11/16(金) 18:54:10ID:PPFIsM3H> のように出力が帰ってきますよね。
いいえ。
0316login:Penguin
2007/11/16(金) 19:44:27ID:q8UeZNS0/a/b/c/d/hoge1
/a/b/c/d/hoge2
/a/b/c/d/hoge3
じゃなくて
/a/b/c/d/hoge1/
/a/b/c/d/hoge2/
/a/b/c/d/hoge3/
の間違いでした。 このリストから hoge1, hoge2, hoge3を抜き出したい。
hoge1/ の最後の "/" も切り落としてしまいたいのですが、どうすれば良いでしょうか?
0317login:Penguin
2007/11/16(金) 19:51:40ID:PPFIsM3Hsed なり awk なりで切り出せると思うけど、
最初から
find /a/b/c/d -mindepth 1 -maxdepth 1 -type d -printf "%f\n"
とかじゃだめなん?
0318login:Penguin
2007/11/16(金) 20:01:17ID:gAB+KHmJfor i in ls -d /a/b/c/d/*/; do basename $i; done
0319login:Penguin
2007/11/16(金) 20:10:36ID:PPFIsM3Hfor i in `ls -d /a/b/c/d/*/`; do basename $i; done
と言いたいんだろうが、
for i in /a/b/c/d/*/; do basename $i; done
でいいな。
空白とか入ってなければ。
0320login:Penguin
2007/11/16(金) 20:14:17ID:q8UeZNS0レスありがとうございました。
しかしfindコマンドに詳しくない為自分ではよく分かりません。それ・・・。
>>318
レスありがとうございました。
こちらの方法はまさに私が求めていた方法です。非常に分かりやすくて助かります。
本当にありがとうございます。
0321320
2007/11/16(金) 21:33:37ID:q8UeZNS0ROOT=/a # ←ココは何でもいい、とにかくディレクトリ
cd ${ROOT}
for DIR in `ls -d ./*/`
do
for TARG in `basename ${DIR}`
do
echo ${DIR}
echo "${TARG}"
done
done
といった感じにしてみたのですが、
Venus7.0 Personal Edition
といったディレクトリが
Venus7.0 と Personal と Edition の3つに分割されてしまい、そのディレクトリに対して
処理したいのに3つの存在しないディレクトリに対して処理しようとする為、 no such file or directory
エラーが次々と帰ってきました。
どうも ディレクトリ名に半角スペースが入っているのがダメなようです。解決策はありませんか?
ちなみに全角スペースの場合は1つのディレクトリとして正常に動作しています。
for DIR in `ls -d ./*/` ←この部分で分断されてしまっていると思いますが
for DIR in `ls -d ./"*/"` などと" " で囲んで見ましたが */ なんてディレクトリは見つからない
と怒られました。 ' ' で囲んでも同じ結果です。どうしたら半角スペースをセパレータとして
認識するのを防げますか?
0322login:Penguin
2007/11/16(金) 21:43:34ID:lBcVe9Afを考えたほうが根本的な解決になりそう
0323login:Penguin
2007/11/16(金) 21:44:56ID:PPFIsM3Hだから >>319 で言ったじゃん。
>>322
いや、あるときはあるでしょ。
そんなにおかしいことではない。
0324login:Penguin
2007/11/16(金) 22:02:10ID:lBcVe9Af>>321は''の囲み方が間違ってるだけだが
_があるのが普通って考えたほうが手間なくていい
windowsがらみならwindowsでやったほうがいい
0325320
2007/11/16(金) 23:35:30ID:q8UeZNS0ま、まぁ色々事情がありまして。あるんですよ。。。
>>323
>>319の事かと思ってレスを投稿する前に確認したのですが、
for DIR in ./*/
do
for TARG in `basename "${DIR}"`
do
echo ${DIR}
echo ${TARG}
done
done
で確認したところ 変数DIRには正しく取れました。 しかし
`basename "${DIR}"` としているにも関わらず
元ディレクトリ名 AVG Anti-Virus Free Edition 7.3
実行結果
AVG
Anti-Virus
Free
Edition
7.3
とこのように分断されてしまいます。 " " で囲っているにも関わらず、です。
何がいけないのでしょうか?
0326login:Penguin
2007/11/16(金) 23:59:15ID:2bsqELIPLIST="\"space aaa\" \"bbb\" \"space ccc\" \"ddd\"";
echo $LIST; # "space aaa" "bbb" "space ccc" "ddd"
func(){
echo "arg= $#"; #6
echo "$1"; # space
echo "$2"; # aaa
echo "$3"; # bbb
echo "$4"; # space
echo "$5"; # ccc
echo "$6"; # ddd
}
func $LIST;
上のようなスクリプトで
func には、"space aaa" みたいにスペースの入った引数を渡したいんですが、
なにか方法はないでしょうか? この場合funcにわたす引数を4つにしたいんです。
展開されて、引数が6つになってる。。。素人ですません。
0327login:Penguin
2007/11/17(土) 00:44:46ID:X3VLuMy8for TARG in `basename "${DIR}"` ->
for TARG in AVG Anti-Virus Free Edition 7.3
0328login:Penguin
2007/11/17(土) 07:31:23ID:FrK+lOPY$LIST をクォートする。
0329login:Penguin
2007/11/17(土) 08:31:04ID:tPTtgwaWこれだけで良かったんですね。
3時間くらい悩んでたよ。�d
0330login:Penguin
2007/11/17(土) 09:32:44ID:X3VLuMy80331320
2007/11/17(土) 10:54:12ID:oelt9+66レスありがとうございます。
そうなんですよ、そんな風に展開されてしまうんですよ。
${DIR} だけを出力しても
./AVG Anti-Virus Free Edition 7.3
となるのに
"${DIR}" とダブルクォートで囲っても
./AVG Anti-Virus Free Edition 7.3
と全く同じ出力になってしまう。つまりダブルクォートが利いてない・・。
だからそれをどうすれば1つの文字列として扱えるのですか?空白を区切りとしないようにする為には・・・。
0332login:Penguin
2007/11/17(土) 12:01:58ID:dajSe2oXbasename の結果が正しいんだからダブルクォートは効いてるだろ?
その後、`` で置き換えた時には既に "${DIR}" とは無関係の文字列なんだから
直書きされてるのと同様に空白で分割されてるだけ。
あえて書くなら
for DIR in ./*/
do
BASE=`basename "${DIR}"`
for TARG in "${BASE}"
do
echo ${DIR}
echo ${TARG}
done
done
っていうか、なんで 2 段で for を回す必要があるのか。
0333login:Penguin
2007/11/17(土) 12:23:43ID:dh2GLbwyバッククォート内はコマンドの出力に置き換えされるんだから、その出力を
クォートすればいい。
for TARG in "`basename "${DIR}"`"
っていうか、なんで 2 段で…
0334320
2007/11/17(土) 22:43:03ID:oelt9+66な、なるほど・・・・
お二人の解説文を10回ほど読み直しながらじっくり考えてみた所、ようやく理解できました。
特に "`basename "${DIR}"`" はややこしくて 最初は何をかいているのだろうかと思いましたが
`basename "{DIR}"` の出力結果そのものを " " で囲っているわけですね。なるほどなるほど。
う〜ん、これは思いつかない・・・。発想力ですか・・・。
で、2段でfor回していますが、確かに冷静に考えると2段で回す必要はありませんね・・・。
むしろ2段で回す処理にしている事で複雑化してしまった感があります。
1段forでいけそうです。
0335login:Penguin
2007/11/23(金) 15:28:58ID:P7OyMgNI拡張が必要になり、問題が増えました。
#!/bin/sh
echo $LIST; # "aaa aaa" "bbb" "ccc ccc ccc" "ddd"
func(){
〜処理〜
}
func "eee eee" "fff fff" "$LIST" "ggg ggg";
以下のようにfuncにスペースを含んだ形で
${LIST}とその他の値を同列に引数として渡したいのです。
↓funcに渡したい引数
"eee eee" "fff fff" "aaa aaa" "bbb" "ccc ccc ccc" "ddd" "ggg ggg"
>>328 >>330にあったように eval func で展開すると
LIST以外の引数がスペースで展開されてしまいます。
LIST以外の引数を "eee\ eee" とか"\"eee eee\""とする手で回避も可能ですが、
修正箇所が増えるので、極力この形は取りたくありません。
なにか方法はありませんか?
0336login:Penguin
2007/11/23(金) 22:55:10ID:rrMjYG9S0337login:Penguin
2007/11/23(金) 23:18:09ID:OSmgQwJosortしなくても2回目意向の重複を削除するコマンド内ですか?
0338login:Penguin
2007/11/23(金) 23:25:42ID:KoVu18yL0339login:Penguin
2007/11/24(土) 02:54:03ID:Qc2k01yBfunc をスペースを分割しないで処理するようにして、
func に渡す前に "$LIST" だけ分割しちゃえば良いんじゃないの?
0340login:Penguin
2007/11/24(土) 13:44:38ID:3ItHeK84おおおお、できました。ありがとうございました。
0341login:Penguin
2007/11/24(土) 15:57:48ID:uBYpiRKVFrom: "Jfda dsadsada" <[email protected]>
From - Fri Nov 21 14:53:45 2007
From: "rwerw dfsa" <[email protected]>
From - Fri Nov 23 14:53:45 2007
From: "a bcd" <[email protected]>
From - Fri Nov 23 14:53:46 2007
From: "abc" <[email protected]>
このようなテキストの中から、日付に対応したアドレスだけをテキストに出力するにはどうしたらいいのでしょうか?
11月20日が指定されたら[email protected]を出力
11月23日が指定されたら[email protected]と[email protected]を出力といった具合です
0342login:Penguin
2007/11/24(土) 16:23:59ID:bvlPAES00343login:Penguin
2007/11/24(土) 17:59:39ID:z00X8bIQできないのです。方法ありますか?
func内で echo $3; した場合。
func "eee eee" "fff fff" "$LIST" "ggg ggg";
echo $3 → "aaa aaa" "bbb" "ccc ccc ccc" "ddd"
当然のように、LIST全体が一つの引数に、、、
以下のようにクォートをなくすと
func "eee eee" "fff fff" $LIST "ggg ggg";
echo $3 → "aaa
LIST内のスペースで、分解されてしまいます。
$3 に "aaa aaa" を渡したいのに、、、
0344login:Penguin
2007/11/24(土) 22:04:52ID:DnopHw8Nperl かなんか使った方がいいんじゃね。
適材適所。
0345login:Penguin
2007/11/24(土) 22:28:40ID:bmHXinLtfunc "eee eee" "fff fff" "$@" "ggg ggg"
0346login:Penguin
2007/11/25(日) 17:46:10ID:ex492j4kこれだ!
こんなトリッキーな手法もあるんですね。
奥が深い。ありがとうございました。
0347login:Penguin
2007/11/25(日) 22:12:54ID:nNUo7Vyuありがとうございました
0348login:Penguin
2007/11/28(水) 16:44:21ID:lxwXbk7Lそのディレクトリの中にファイルがあった場合のみ変数にディレクトリ名を追加する。
という処理をしたいと考えています。
LIST=`find 特定のディレクトリ -maxdepth 1 -mindepth 1 -type d`
上記のコマンドでディレクトリ一覧は取得できたのですが
取得したディレクトリ一覧の中にファイルがあるかどうかの条件設定方法がわかりません
ご教授ください
0349login:Penguin
2007/11/28(水) 16:51:01ID:hjQ8uHjrGNU の find なら ! -empty で。
0350348
2007/11/28(水) 17:14:26ID:lxwXbk7Lレスありがとうございます。
LIST=`find 特定のディレクトリ -maxdepth 1 -mindepth 1 -type d ! -empty`
上記のコマンドで無事に条件を満たすことが出来ました。
感謝です><
0351login:Penguin
2007/11/30(金) 01:52:45ID:vbHro4B71 B
1 C
2 P
2 Q
3 X
3 Y
3 Z
...
のような入力を
1 A B C
2 P Q
3 X Y Z
...
のように整形する簡単な方法はありますか?
0352login:Penguin
2007/11/30(金) 02:21:47ID:8mp/o88K0353login:Penguin
2007/11/30(金) 13:45:29ID:zEAz9Kgp惚れた
0354login:Penguin
2007/12/01(土) 01:13:52ID:285rAG3t0355login:Penguin
2007/12/01(土) 01:27:18ID:aR34EpD+パイプでしか使った記憶がなく、素で知らなかった。
0356login:Penguin
2007/12/01(土) 11:59:35ID:lphCOL1Qパッと挙げろという方がむつかしいだろ
0357login:Penguin
2007/12/01(土) 12:16:31ID:z08ppphA0358login:Penguin
2007/12/01(土) 19:59:33ID:aR34EpD+0359login:Penguin
2007/12/01(土) 21:03:16ID:z08ppphA0360login:Penguin
2007/12/01(土) 23:25:16ID:+jVAJI5Z0361login:Penguin
2007/12/03(月) 14:25:58ID:pB5IpK3Q( { command1 && command2 } > normal.log ) >& error.log
で、標準出力と標準エラーをファイルにリダイレクトまではうまくいきました。
このエラー出力を、画面にも出すにはどんなふうに書くのでしょう?
ttp://x68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8
ちなみに、ここまではこの辺を参考にさせていただきました。
お願いいたします。
0362login:Penguin
2007/12/03(月) 14:26:53ID:pnpsuBAGtee
0363login:Penguin
2007/12/03(月) 15:02:26ID:pB5IpK3Qありがとうございます
できました。
最初に言ってたのとちょっと違うのですが、ようは、すべてログに保存して
なおかつERRORの文字が入ってる行だけを画面に出力したかったので
2>&1 | tee file.log | grep ERROR
でやりたいことができました。
いろいろ勉強になりました。サンクス。
0364login:Penguin
2007/12/03(月) 16:10:39ID:+7LXyEUmhttp://opentechpress.jp/developer/article.pl?sid=07/12/03/0133253
0365login:Penguin
2007/12/03(月) 16:33:46ID:CJjSSdo9面白そうだけど、記事の中に具体的な画像が欲しいね・・・・
0366login:Penguin
2007/12/03(月) 16:43:39ID:pm3xTTNyhttp://code.google.com/p/hotwire-shell/wiki/Screenshots
■ このスレッドは過去ログ倉庫に格納されています