[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/10 01:32 / Filesize : 243 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シェルスクリプト総合@LINUX Part4



1 名前:login:Penguin mailto:sage [2008/05/17(土) 13:44:57 ID:9hFWtCOD]
UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく
平和にLINUX的スクリプト談義しましょうよ。

初めての自作スクリプト、自信ないから見てください。な初心者から
トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで
いろいろな人に参加して頂けると嬉しいです。

perlやらPythonやらの話が混ざっても良いんでない?

Part3 : pc11.2ch.net/test/read.cgi/linux/1184077033/
Part2 : pc11.2ch.net/test/read.cgi/linux/1154578200/
Part1 : pc8.2ch.net/test/read.cgi/linux/1121994321/

>>2-5あたりに色々と。

448 名前:login:Penguin mailto:sage [2008/08/25(月) 22:22:20 ID:q8+dK05f]
echo $"Starting XXXX daemon..."

という一文の「$」の意味を解しかねてるんだども…

449 名前:login:Penguin mailto:sage [2008/08/25(月) 22:30:19 ID:TaEIkWlk]
% echo $"Starting XXXX daemon..."
$Starting XXXX daemon...
% echo "$Starting XXXX daemon..."
XXXX daemon...
%

450 名前:login:Penguin mailto:sage [2008/08/25(月) 22:34:16 ID:i+OsnagO]
>>448
ja.po とか作るときに
$" " で囲んだところが
翻訳の対象として切り出される。

メッセージ カタログ化
とかでググれ。

451 名前:login:Penguin mailto:sage [2008/08/25(月) 23:32:42 ID:w1+LX6rA]
これすか…
bash(1)
> --dump-po-strings
> Equivalent to -D, but the output is in the GNU gettext po (portable object) file format.

試しに /usr/share/locale/ja/LC_MESSAGES/XXXX.mo を作ってみたが、日本語にならない。
あうあう。。。
「$」はぶった切ることにします。

452 名前:login:Penguin mailto:sage [2008/08/25(月) 23:49:02 ID:i+OsnagO]
>>451
急ぎじゃなかったら少し頑張ってみるといいかも。

前作ったもの見たらこんな感じで作業してたらしい。
$ xgettext -o hoge.po hoge.sh
$ gtranslator hoge.po
$ msgfmt -o hoge.mo hoge.po

hoge.sh の中にはこんなのが書いてあった。-->
if [ -z "$TEXTDOMAIN" ] ; then
TEXTDOMAIN="hoge"
TEXTDOMAINDIR="/usr/share/locale"
fi
<--

TEXTDOMAIN="hoge.sh" じゃなくて
TEXTDOMAIN="hoge" にしてあるのは
hoge.sh をインストール時に /usr/bin/hoge に改名(hoge.sh から hoge に)するため。

453 名前:login:Penguin mailto:sage [2008/08/26(火) 23:01:28 ID:JsSv3XDz]
gtranslator てのが無かったので、
$ sh --dump-po-strings XXXX > ~/XXXX.po
とし、msgfmt 以降同様にすると日本語になりました。
どうもありがとう。

454 名前:login:Penguin mailto:sage [2008/08/31(日) 15:42:27 ID:aoYJcwTK]
?$

455 名前:login:Penguin [2008/09/01(月) 09:58:54 ID:LEXE4Xrt]
C言語でいう
for (float a=0.1;a<1.5;a+=0.1){
}
の様なループはどのように書けばよいのでしょうか?


456 名前:login:Penguin mailto:sage [2008/09/01(月) 10:38:54 ID:zLmvj5ED]
>>455
小数とか使いたいなら
もっとまともな言語使った方がいいよ。



457 名前:login:Penguin mailto:sage [2008/09/01(月) 12:17:57 ID:qt+GSvTX]
for i in `seq 1 20`
do
i=`echo "scale=1; $i / 10" | bc`
echo $i
done

458 名前:login:Penguin mailto:sage [2008/09/01(月) 17:56:42 ID:gt+0kg/y]
やっぱループ変数は整数だよな。
少数は気持ち悪い。

459 名前:login:Penguin mailto:sage [2008/09/01(月) 23:52:23 ID:yMJ8hMF5]
$ cat aso
killall fukuda

460 名前:login:Penguin mailto:sage [2008/09/02(火) 01:01:15 ID:iTMiNYXN]
>>458
気持ち悪いどころか、有害。
for(float a=0;a<=1.0;a+=0.1){printf("%g ",a);}
⇒ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9


461 名前:login:Penguin mailto:sage [2008/09/02(火) 02:16:22 ID:NrY9TL/o]
>>460
勉強になります。
使った事ないし、使う場合はテストするのでだいじょぶだけど。
でも絶対やらんよねw Cやってるやつは。
すれち

462 名前:login:Penguin mailto:sage [2008/09/02(火) 04:38:59 ID:dzMMfnry]
bcで計算させたとき、0以下の小数は最初の0を抜いた.2のように表示されますが、 
0.2の様な表示にはできませんか? 


463 名前:login:Penguin mailto:sage [2008/09/02(火) 09:52:47 ID:bHR8SDTE]
0 ≧ .2 なのか。

464 名前:login:Penguin mailto:sage [2008/09/03(水) 00:04:05 ID:aqC4nv+U]
>>463
浮動小数点の比較を工夫なく行う奴はアホ。

465 名前:login:Penguin [2008/09/05(金) 21:49:46 ID:eUOT1mPo]
sed を | で つなぐんじゃだめ?

466 名前:login:Penguin mailto:sage [2008/09/06(土) 00:00:19 ID:x4tIq2Vd]
#!/bin/sh
echo '%A4%A2' | tr % = | nkf -emQ

「あ」と表示させたいのですが、「、」」と表示されてしまいます。
正しい書き方を教えてください。



467 名前:login:Penguin mailto:sage [2008/09/06(土) 05:03:55 ID:/FPWBzOe]
うち(EUC環境)では「あ」と表示される。

468 名前:login:Penguin mailto:sage [2008/09/06(土) 08:59:05 ID:6Sr65r/p]
>>466
テキストに落とすとEUCで「あ」に見える

469 名前:login:Penguin mailto:sage [2008/09/06(土) 23:40:32 ID:O24UR7Eo]
>>466 の環境がUTF-8なら
#!/bin/sh
echo '%A4%A2' | tr % = | nkf -wmQ


470 名前:login:Penguin [2008/09/08(月) 22:09:56 ID:tYV0ghqH]
引数 output-file input-file1 input-file2 ...
を受け取ってinput-fileN に some-dir/ を付加したコマンド引数を他のプログラムの引数として与えたいのです。

つまり、
 foo yaruo.out vip.txt vipper.txt vippest.txt
でfooを実行して、そのfoo内では
 bar yaruo.out www/vip.txt www/vipper.txt www/vippest.txt
を実行するということがしたいのです。

こんなスクリプトを作成するには、fooをどのように記述すればいいのでしょうか。
よろしくお願いします。

471 名前:login:Penguin mailto:sage [2008/09/08(月) 22:27:43 ID:UFg0tXoN]
もう宿題の季節なのか?一箇所直してから使ってくれ。

#!/bin/bash
org=www; ARG1=${1}; shift; echo bar ${ARG1} ${@/#/${org}/}

472 名前:login:Penguin mailto:sage [2008/09/08(月) 22:50:15 ID:4IH3dQd+]
>>470
あのね、
宿題を出す先生は、このスレもチェックしてるからね、
>>471 のを出しても 0 点だからwww

ゆっくり 0 点にしてってね!

473 名前:login:Penguin [2008/09/08(月) 22:54:09 ID:tYV0ghqH]
>>471
残念ながら宿題ではないのです〜

ありがとうございました。

474 名前:login:Penguin mailto:sage [2008/09/08(月) 23:03:49 ID:QeMmaTeA]
うちの大学の先生はプログラム板も見ていた

475 名前:login:Penguin mailto:sage [2008/09/08(月) 23:09:05 ID:/XLojU6V]
先生も激務だな

476 名前:login:Penguin mailto:sage [2008/09/08(月) 23:45:08 ID:lCRZh05X]
悪いな、おいらは数学板だけでなく、
日本語のあらゆる数学質問掲示板を巡回している。
必ず学生が質問をしやがるから。

レポートを返すときに、そのスレおよび掲示板のコピーを添付して、念のため確認をとる。
初めから正直に引用したと書いてあるものについては、改めて口頭で説明させている。




477 名前:login:Penguin mailto:sage [2008/09/09(火) 08:43:21 ID:7p63VvoV]
院生にやらせそうな案件だな

478 名前:login:Penguin mailto:sage [2008/09/11(木) 23:43:43 ID:6JSrg1Nn]
実際に教授がやってたら笑いものだな。
そこまで熱心にありがとうございます、と学生ながらに思うべきか。

ただ、ねぇ・・・

479 名前:login:Penguin mailto:sage [2008/09/12(金) 01:07:51 ID:Hfrl7+Fx]
>>478
いや、日本だけってわけでなく海外でも今や引用元チェックとか行っているよ。

480 名前:login:Penguin mailto:sage [2008/09/12(金) 18:08:43 ID:9WCeRGBW]
へー

481 名前:login:Penguin mailto:sage [2008/09/12(金) 21:11:04 ID:lKrrIxw4]
3年前ほどにアメリカのテレビドラマで高校の先生がエッセイの宿題を返す場面を見た。
ある学生に返しながら、「素晴らしいエッセイだったわ。 essay.com(のような感じ)ね?
月曜までに自分で書いて来てね」

482 名前:login:Penguin mailto:sage [2008/09/13(土) 02:57:01 ID:+1Gk57wR]
問題も自分で作ってね

483 名前:login:Penguin mailto:sage [2008/09/19(金) 18:18:28 ID:0H1973GE]
>>479
手作業じゃないよね。日本語を解析できるツールはまだできてないよ。

484 名前:login:Penguin mailto:sage [2008/09/25(木) 00:19:59 ID:t0y6Jov+]
fdisk /dev/sdb
n
p
1
w

↑こんな感じで、入力させていきたいのですが、
方法がわかりません。キーボード 入力 シェル スクリプト
あたりでぐぐると、キーボードからの入力を受け付ける、しか見つかりませんでした。

方法を教えてください。

485 名前:login:Penguin mailto:sage [2008/09/25(木) 01:43:59 ID:Khd+tIc7]
>>484
expect

486 名前:login:Penguin mailto:sage [2008/09/25(木) 09:57:28 ID:fRZ/kmS9]
>>484
sfdisk



487 名前:login:Penguin mailto:sage [2008/09/25(木) 19:47:43 ID:wpIij73K]
>>484
>> EOF

488 名前:login:Penguin mailto:sage [2008/09/25(木) 19:55:28 ID:oa1dgrD9]
( echo n; echo p; echo 1; echo w ) | fdisk /dev/sdb

入力が端末かどうかちゃんとチェックしてるようなモノだと動かないが、
fdisk はそんなことしてなかったはずなので、ふつーに標準入力からつっこめばよし。


489 名前:login:Penguin mailto:sage [2008/09/27(土) 00:45:11 ID:9WMmgXah]
ゴミ箱スクリプト使ってるひといる?

490 名前:login:Penguin mailto:sage [2008/09/27(土) 01:12:09 ID:s/QKRkEt]
あい。

491 名前:login:Penguin mailto:sage [2008/09/28(日) 03:42:58 ID:yjLf4XT+]
ゴミ箱に入ってるファイルを復元させるやつなら使ってる

492 名前:login:Penguin mailto:sage [2008/09/29(月) 04:13:28 ID:nMbRNXLX]
ティルダ(~)展開について質問。

#!/bin/bash

ls ~/

directory="~/"
ls $directory

上側のように直接書いたものは展開されますが、下側のように変数に入れたものは展開されません。
変数に入った「~」を展開するにはどうすればいいのでしょうか。

493 名前:login:Penguin mailto:sage [2008/09/29(月) 04:17:44 ID:dNtmh/2+]
directory=~/

494 名前:492 mailto:sage [2008/09/29(月) 08:48:30 ID:dqlgrzbc]
うわ、そんなことだったのか。ありがとうございます。

では、read directory; などでファイルから読んだ場合はどうすればいいんでしょう。

495 名前:492 mailto:sage [2008/09/29(月) 10:56:52 ID:dqlgrzbc]
あ、わかりました。eval 使えばいいんですね。
ファイルからティルダ(チルダ)含んだパスを読み込むことなんかよくあると思うんだけど、
そういったシチュエーションでの展開は解説されてませんねえ。
基本的な展開の話ばかりで。

496 名前:login:Penguin mailto:sage [2008/09/29(月) 11:06:17 ID:6KBzfDQe]
eval
って書こうとしたら自己解決してたか。

>ファイルからティルダ(チルダ)含んだパスを読み込むこと

俺は経験無いけど、良くあることなの?



497 名前:login:Penguin mailto:sage [2008/09/29(月) 12:14:07 ID:PrjYZQYT]
> 俺は経験無いけど、良くあることなの?

んー、俺もそもそもスクリプトはあんまり書かないんだけど、
ちょっと今回必要があって、とあるファイルにつらつらと書かれたパスに対して
順番に処理かけていくスクリプトを組んだ。

よくあるかと思ったのは単なる想像。使ったスクリプトが悪かったかな?

498 名前:login:Penguin mailto:sage [2008/09/29(月) 12:15:02 ID:PrjYZQYT]
アレ、ID 変わってる。
>>495 です。


499 名前:login:Penguin mailto:sage [2008/09/29(月) 13:09:37 ID:M1tw2hRO]
むしろ勝手に解釈されたら困ることの方が多そう。

500 名前:login:Penguin mailto:sage [2008/09/29(月) 17:00:59 ID:DE65cKXI]
$HOMEの方がいいと思う

501 名前:login:Penguin mailto:sage [2008/10/14(火) 23:13:02 ID:IUh0ZsYq]
16進数がずらーっと並んでいるテキストファイルを手で入力しています。

手入力なのでうっかり16進数の[0-9a-f]以外の文字がはいってしまうこと
があるのですが、「このファイルには[0-9a-f]以外がはいってる」ということ
を検出するいい方法はないでしょうか。

502 名前:login:Penguin mailto:sage [2008/10/14(火) 23:18:11 ID:peqExbxa]
とりあえず grep -v '[0-9a-f]' みたいな

503 名前:login:Penguin [2008/10/14(火) 23:55:57 ID:VVRxoluk]
>>501
なつかしい作業だね。
いまどき、そんな事やるひつようあるの?

504 名前:login:Penguin mailto:sage [2008/10/15(水) 01:23:45 ID:oM4m5G9h]
>>502
試してから書けよ。

$ echo 00 | grep -v '[0-9a-f]'
$ echo 0x | grep -v '[0-9a-f]'

505 名前:login:Penguin mailto:sage [2008/10/15(水) 01:26:34 ID:YCs9R2r/]
grep '[^0-9a-f]' ですね、失礼しました

506 名前:login:Penguin mailto:sage [2008/10/15(水) 01:34:48 ID:IbpEXu/h]
[ x"$hoge" = "x" ]というようなのをたまに見かけるんだけど
[ "$hoge" = "" ]となにがちがうの?



507 名前:login:Penguin mailto:sage [2008/10/15(水) 01:46:00 ID:Z5rHmxLW]
>>506
- で始まる文字列返されると困るから。

508 名前:login:Penguin mailto:sage [2008/10/15(水) 02:11:39 ID:IbpEXu/h]
なるほど、どうも

509 名前:login:Penguin mailto:sage [2008/10/15(水) 21:42:29 ID:bOOa1s77]
>>502-505

ありがとう。シンプルでそれでよかったんだね。なんか考えすぎてたらしい。

>>503

大昔のパソコン雑誌を押入れから発掘したんです。
そこにあったのは16進ダンプファイルで掲載されていたゲーム・・・。

そして、入力して動かそうとしてあーだこーだやっているうちに
「16進数テキストファイルの処理」が目的になってるという状態w

510 名前:login:Penguin mailto:sage [2008/10/16(木) 08:22:19 ID:tCBPvnpY]
シェルの操作とかってそうやって覚えるもんだよねー
懐かしさに惹かれておいらも引っ張り出してみようかしら

511 名前:login:Penguin [2008/10/17(金) 01:32:36 ID:6ubwN3MV]


>>503

>大昔のパソコン雑誌を押入れから発掘したんです。
>そこにあったのは16進ダンプファイルで掲載されていたゲーム
>・・・。

やっぱりw
なつかしすぎる。てか、bit数が違うから動かない予感

512 名前:login:Penguin mailto:sage [2008/10/17(金) 11:08:59 ID:4pVt9n9N]
携帯やデジカメでダンプリストを取り込んでocrソフトでテキスト化
エディタで編集修正したものをデバッガへ食わせるなんてスレ違い

513 名前:login:Penguin [2008/10/22(水) 20:50:34 ID:VC8ljHmq]
$ cat love.sh
what=LOVE
echo "ALL YOU NEED IS $what"
というファイルを改変することなく、2行目のecho文で
"ALL YOU NEED IS CASH" と出力することは可能だろうか?
$ cat cash.sh
declare -r what=CASH
source ./love.sh
というのを考えてみたが実現できなかった。

514 名前:login:Penguin mailto:sage [2008/10/22(水) 21:16:44 ID:l3U9XvVs]
$ sed s/LOVE/CASH/ love.sh | sh

これだと改変になる?


515 名前:login:Penguin mailto:sage [2008/10/22(水) 22:28:26 ID:VC8ljHmq]
あーなるほど。いただきます。

516 名前:login:Penguin mailto:sage [2008/10/22(水) 23:35:12 ID:xR/eB2K4]
what=MONEY;echo '#'`cat a.sh` | sh



517 名前:login:Penguin mailto:sage [2008/10/23(木) 19:09:43 ID:+CTFy1at]
質問なんですが、atコマンドなどのログを取得して
特定のディレクトリーに吐き出すスクリプトを作成したいと思っています。
しかし、PHPやCなどはかなり触っているのでわかるのですが
シェルスクリプトは全くの初心者のため、どのようにしたらいいのか見当がつきません。
簡単な例でけっこうですので、教えていただけないでしょうか。

サーバー:CentOS5.2

518 名前:login:Penguin mailto:sage [2008/10/23(木) 19:41:07 ID:ueeORYHp]
え、丸投げ!?

519 名前:login:Penguin mailto:sage [2008/10/23(木) 20:18:32 ID:y4uaRh/4]
Cで書きゃええではないか。

520 名前:login:Penguin mailto:sage [2008/10/24(金) 10:02:49 ID:2zYy9Dkj]
>簡単な例でけっこうですので

grep 'atコマンドなど' /var/log/messages > /tmp/hoge

521 名前:login:Penguin [2008/10/24(金) 20:25:05 ID:14T+pOpU]
>>517
/etc/syslog.conf
とか?
外してたらごめん

522 名前:login:Penguin mailto:sage [2008/11/02(日) 21:57:45 ID:AykxzKW2]
シェルスクリプト関連の本って今では結構いろいろ出てるけど、どれがいいんだろう?
シェルって何?って人に最適な本もあるだろうし、実務でスクリプトを書く人に最適な本もあるはず。

523 名前:login:Penguin mailto:sage [2008/11/02(日) 22:12:17 ID:XwJU1nJV]
>>522
Advanced Bash-Scripting Guide
tldp.org/LDP/abs/html/

524 名前:login:Penguin mailto:sage [2008/11/02(日) 22:51:26 ID:AykxzKW2]
>>523
な、なにこれスゲー。今悩んでる問題が二つ解消した。たった数分読んだだけで。

525 名前:login:Penguin mailto:sage [2008/11/03(月) 00:18:52 ID:iKa/7Y2g]
その2つを語ってみたまい。
「そんなことで悩んでいたのかクソ馬鹿」と罵倒してあげるから。
…いえ、ウソです。

526 名前:login:Penguin mailto:sage [2008/11/03(月) 01:46:09 ID:jQDIWjiF]
板違いだったらごめんなさい

なぜ find には -exec があるんですか?パイプ
では駄目?



527 名前:login:Penguin mailto:sage [2008/11/03(月) 02:48:26 ID:bJlJMSV4]
#スレ違いと思うけど、それは置いて。

findに-print0が無かった頃、
find ... -print | xargs rm
としたら思わぬ結果になり、
find ... -exec rm {}\;
と習慣づけるようにしたような、淡い記憶がある。
記憶違いかもしれないけれど。

528 名前:login:Penguin mailto:sage [2008/11/03(月) 11:40:47 ID:+Mz0PYlF]
>>526
一個一個に対してコマンドを実行したいとき。
whileとreadで回すほどでもないときに使う。

xargsはなんかそんな気分の時に使う。

529 名前:login:Penguin mailto:sage [2008/11/04(火) 00:03:44 ID:28eBvx3Z]
xargs rm だと一個一個消す訳じゃないらしいけど
その理屈がようわからん
どうやってんの?

530 名前:login:Penguin mailto:sage [2008/11/04(火) 01:51:16 ID:lE3PYV5Z]
x68000.q-e-d.net/~68user/unix/pickup?xargs

531 名前:login:Penguin mailto:sage [2008/11/04(火) 06:42:20 ID:n6LEGgbQ]
>>529
xargsの場合

rm a b c d


-execの場合

rm a
rm b
rm c
rm d

532 名前:login:Penguin mailto:sage [2008/11/04(火) 18:22:21 ID:IOim9jxY]
だから、findでは -delete 使うか、末尾を\+にする。

533 名前:login:Penguin mailto:sage [2008/11/04(火) 20:33:27 ID:gko7k3GT]
「だから」って…
「findに-print0が無かった頃」と予めことわっているのに、
やはり無かった"-delete"とかを持ち出されても。

534 名前:login:Penguin mailto:sage [2008/11/04(火) 21:23:41 ID:W3AqIadF]
-deleteなんてあったんだorz。 使い古したコマンドでも時々manを見るべきだな。

535 名前:login:Penguin [2008/11/08(土) 01:22:38 ID:/AB41I5S]

どなたかご教授ください。
以下のような形式のログファイル(test.log)の処理を行っています。

# cat test.log
日付 ・・・・必要な情報@・・・・・・・必要な情報A・・・・・・・・・
日付 ・・・・・・・・・・必要な情報@・・・・・・・・必要な情報A・・・・・
※「・・・」には、ログのその他、不要な情報が入っています。


このtest.logの中で、1,2行目の必要な情報@と必要な情報Aのみを
抜き出して、別ファイルに保存したいです。

■保存したい例
必要な情報@ 必要な情報A
必要な情報@ 必要な情報A

awkを使おうと思ってたのですが、必要な情報の列(位置)が、
ログの行によって、まちまちでawkで処理する事が出来ません。

この「必要な情報」については、目印となる文字列が含まれているのですが、
grepのようなコマンドで、検索キーワードが含まれる行を抜き出すのではなく、
検索キーワードの該当する文字列そのものを抜き出すような方法は無いでしょうか。
分かりにくい説明で申し訳ありません。アドバイス頂ければと思います。
bashが良いのですが、他のシェルでも方法がありましたら、ご教授ください。

536 名前:login:Penguin mailto:sage [2008/11/08(土) 02:20:54 ID:Sn/dZhVJ]
^[^キーワード]*,と,[*キーワード]*$ をsedとかで消しちゃえばいいんじゃない?



537 名前:login:Penguin mailto:sage [2008/11/08(土) 08:26:09 ID:spq9OVhg]
「・・・」と略されたら、必要な情報と不要な情報の区切が解らへん。

538 名前:login:Penguin mailto:sage [2008/11/08(土) 10:43:36 ID:QmgRkUw9]
awk を使うのなら、たとえば、こういうデータに対して

aaa word1 bbb word2 ccc
ddd word3 eee word4 fff
zzz yyy xxx
word5 ggg hhh iii

#!/usr/bin/awk -f
{
line = ""
for (i = 1; i<=NF; i++) {
if ($i ~ /word/) {
line = line "\t" $i
}
}
sub(/^\t/, "", line)
if (line != ""){
print line
}
}

というのはどう? 改良の余地は大いにあると思うけれど。

539 名前:login:Penguin [2008/11/09(日) 00:42:41 ID:+8LPtwQh]
bashでの配列について教えてください
ファイルの内容を1行づつ読み込んで、変数に格納するには
どうすれば良いでしょうか。




540 名前:login:Penguin mailto:sage [2008/11/09(日) 00:53:45 ID:WldBda9P]
つ while read i; do echo $i; done < file
つ IFS='
'
FILE=(`cat /etc/passwd`)
echo ${FILE[21]}


541 名前:login:Penguin [2008/11/09(日) 01:04:17 ID:+8LPtwQh]
>>540
ありがとうございました!
こちらのほう、使わせて頂きます。

FILE=(`cat /etc/passwd`)
echo ${FILE[21]}


542 名前:login:Penguin mailto:sage [2008/11/10(月) 00:15:54 ID:ZSdeBKA2]
read

543 名前:login:Penguin mailto:sage [2008/11/10(月) 00:35:00 ID:KJ/5CLnz]
複数ディレクトリにある重複して存在してるファイルをリストアップしたいんですけど
(同じ名前とは限らない)
find dirA dirB dirC -exec cksum {} \;
でチェックサムを出したところまではいいんだけど
この値が一致してたらリスト出力するってのはどうすればいいでしょう?


544 名前:login:Penguin mailto:sage [2008/11/10(月) 07:43:00 ID:J2OShanR]
一致行の出力でよければ、
$ find ... | sort | uniq -OPTION
何かオプションが要るような気がするので、uniq(1)を見て。

545 名前:login:Penguin mailto:sage [2008/11/10(月) 12:58:27 ID:25jIkch2]
>>535

awkでできないことなんかないよw
処理速度はきついが

普通に 【必要な情報】で検索すればいいだろ?列なんか関係なしに。

546 名前:login:Penguin mailto:sage [2008/11/10(月) 19:22:12 ID:zHbtNtaX]
>>543
なんかいまいち

find "$@" -type f -exec cksum \{\} \; | sort -k 1,2 | \
awk '{
if (c == $1 && s == $2) {
print l, $0; l = "";
} else {
c = $1; s = $2; l = $0 "\n"
}
}'



547 名前:login:Penguin mailto:sage [2008/11/10(月) 19:28:01 ID:K/Z638b2]
前スレの683-に出てたので参考までに

548 名前:login:Penguin [2008/11/10(月) 20:17:51 ID:TV5/2e6C]
>>535
sed 正規表現 置換 パターンマッチ(\1 \2とか) ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef