シェルスクリプト総合 その24©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 転載ダメ©2ch.net
2014/11/11(火) 00:54:03.43□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
FreeBSDユーザは/bin/shの正体がashなので注意。
v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/
http://heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
manや参考リンクを見ましょう。
aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
「そういうのはperl使いましょう」と回答するのはやめましょう。
安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その23
http://peace.2ch.net/test/read.cgi/unix/1404204950/
0716名無しさん@お腹いっぱい。
2015/06/06(土) 17:40:55.66ここのpageを見て理解しながら作りました。
http://www.maitou.gr.jp/rsa/
素数判定のアルゴリズムは以下のC言語のものを、冪乗の計算を一度に変えたものです。
http://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0%E5%88%A4%E5%AE%9A
今は一度コメントを全部消した状態で貼っておきます。
dcで書いてるので呪文っぽいので理解しようとしないほうが吉です。
そのうちbase64でコメントつけて貼るかもしれません。
factorにすぐやられますから、実用性は無いです。
dashで動くつもりでしたがzshでなければ動きません。
printf %d 010
とした時の挙動の違いに今気付きました。
0717名無しさん@お腹いっぱい。
2015/06/06(土) 17:42:57.23# 例: prime 10000 20000
prime ()
{
dc -e "$( seq $1 ${2:-$1} )"'
z sc 0 sr [S2 lr 1 + sr lr lc >!] s! l! x
[[sg 3 Q] sk [p sg 3 Q] s.] sA
[d 2 >k d 2 =. d 2 % 0 =k] sB
[[sg 2 Q] sk [p sg 2 Q] s. d v s^ 3 s/] sC
[l^ l/ >. d l/ % 0 =k l/ 2 + s/ lD x] sD
0 sr
[L2 [lA x lB x lC x lD x]x lr 1 + sr lr lc >@] s@ l@ x
'
}
# 上記、prime関数から得られた適当な素数二つが引数です。
# そこから秘密鍵、公開鍵を出力します。
# 例: keygen 10243 19963
keygen ()
{
dc -e "[$1 1 :a]x [$2 2 :a]x [$1 $2 * 3 :a]x"'
[1 ;a]x 1 - [2 ;a]x 1 - * 2 / 1 + S2
[l2 lr [d la :k]x / [la :p]x la 1 + sa l. x] sA
[[la 1 - ;k]x n [ ] n [la 1 - ;p]x n [ ] n [3 ;a]x p sg] s.
1 sa l2 v s^ 2 sr
[l2 lr % 0 =A lr 1 + sr lr l^ !<B] sB lB x
'
}
0718名無しさん@お腹いっぱい。
2015/06/06(土) 17:44:29.67# 例:
# keygen 10243 19963
# > 7 14603629 204481009
# > 17 6013259 204481009
# > 119 859037 204481009
# encrypt 859037 204481009 暗号化するfile >暗号化した後のfile
encrypt ()
{
echo 8 o $( printf "8 i %d 12 i $1 $2 | n [ ] n " $( od -vt oC -A n $3 ) ) |dc
}
# 上記の公開鍵で暗号化したものを、秘密鍵で復号します。秘密鍵は上記の例で暗号化した場合、
# 以下の組み合わせになります。
# encrypt 119 204481009 暗号化されたfile >復号化した後のfile
decrypt ()
{
printf "8 i %d 12 i $1 $2 | P " $( cat $3 ) |dc
}
0719名無しさん@お腹いっぱい。
2015/06/06(土) 20:13:54.610720名無しさん@お腹いっぱい。
2015/06/06(土) 20:27:58.37# 他に、確認に使ったprogram.
# ずるしてopensslを使っています。
# まず!!!!!!!!復号化するfileに値を入れて下さい!!!!!!!!!!!!!。小さいfileが良いと思います。
# mktempで作るfileは自動では削除しません。最初にechoで出力するので手動でお願いします。
# primeで適当な素数を二つ選択しkeygenを行い、そこで作られた鍵で暗号化したfileを
# 復号できるかの確認です。
# 使い方。
# check_2 $( prime 10000 20000 )
# 出力は、出力した時に確認したkeygenに使った素数二つ,暗号化復号化に使える数字と法です。
0721名無しさん@お腹いっぱい。
2015/06/06(土) 20:29:33.71file_encrypt=$( mktemp )
file_decrypt=$( mktemp )
echo 後で削除する事、$file_encrypt $file_decrypt
check_2 ()
{
test $# -lt 2 && return
p1=$( echo $@ |tr ' ' '\n' |sed -n $(( $( openssl rand 2 \
|od -t u -A n ) % $# + 1 ))p )
while # 使いました!!!
p2=$( echo $@ |tr ' ' '\n' |sed -n $(( $( openssl rand 2 \
|od -t u -A n ) % $# + 1 ))p )
test $p2 -eq $p1
do :
done
f ()
{
test $# -eq 0 && return
encrypt $(( $# % 2 ? $1 : $2 )) $3 $file >$file_encrypt
decrypt $(( $# % 2 ? $2 : $1 )) $3 $file_encrypt >$file_decrypt
diff $file $file_decrypt && echo 成功。keygen $p1 $p2, $1 $2 $3 \
|| echo 失敗。keygen $p1 $p2, $1 $2 $3 1>&2
shift 3
f $@
}
f $( keygen $p1 $p2 )
check_2 $( echo $@ |tr ' ' '\n' |grep -vE "($p1|$p2)" )
}
# rm $file_encrypt $file_decrypt
0722名無しさん@お腹いっぱい。
2015/06/06(土) 20:36:41.36opensslのrandの値も変える必要があったような気がします。もう忘れました。
現在対したコメント無くてごめんなさい。
0723名無しさん@お腹いっぱい。
2015/06/07(日) 19:13:41.49printf '%s + %s - %s * %s / ' '0 0' 0 1 1 "$@" 'p quit' | dc
>>716-722 力作ですなぁ
072410人に1人はカルトか外国人
2015/06/08(月) 17:47:19.33・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト
10人に一人はカルトか外国人
「ガスライティング」で検索を!
0725名無しさん@お腹いっぱい。
2015/06/08(月) 21:12:33.56find /foo -iname "123foo.txt" -o -iname "foo.txt"
をしたくて、"123foo.txt" から"foo.txt"を
作りたいのですけどいい方法を教えていただけないでしょうか?
123は0桁から4桁あります。
よろしくお願いします。
0726名無しさん@お腹いっぱい。
2015/06/08(月) 22:27:29.530727名無しさん@お腹いっぱい。
2015/06/08(月) 23:04:24.580728名無しさん@お腹いっぱい。
2015/06/09(火) 00:33:36.94>>726の場合は問題ない
0729名無しさん@お腹いっぱい。
2015/06/09(火) 01:25:54.94$ filename2=$(echo $filename1 | tr -d [0-9])
$ echo $filename2
foo.txt
0730名無しさん@お腹いっぱい。
2015/06/09(火) 01:49:15.59$ filename=123foo.txt
$ echo ${filename##*[0-9]}
foo.txt
0731名無しさん@お腹いっぱい。
2015/06/09(火) 08:44:03.74trか変数展開をつかうのか
自分は今まで何考えてたんだ
コマンド、変数展開を使いこなせてないことを痛感した
ありがとう
0732名無しさん@お腹いっぱい。
2015/06/11(木) 16:47:01.72foundfiles=$(find /hoge/hoge1 /foo/foo1 -name -type f *.txt)
for x in "${foundfiles}"
do
処理
done
としてみたのですが、うまくいきませんでした。
どこを直せばよいのでしょうか?
0733名無しさん@お腹いっぱい。
2015/06/11(木) 17:10:28.240734名無しさん@お腹いっぱい。
2015/06/11(木) 18:04:07.93foundfiles=$(find /hoge/hoge1 /foo/foo1 -name *.txt -type f)
for x in "${foundfiles}"
do
処理
done
これでokですか?まだ、怪しいとこありますか?
0735名無しさん@お腹いっぱい。
2015/06/11(木) 18:13:25.03気体通りになってるか確認して終わり
かまう奴はアホか
0736名無しさん@お腹いっぱい。
2015/06/11(木) 19:55:03.20豚
0737名無しさん@お腹いっぱい。
2015/06/12(金) 12:06:31.64for x in "${foundfiles}"
do
echo "$x"
done
とやると一見上手くいったように見えましたが、
foundfiles=$(find /hoge/hoge1 /foo/foo1 -name *.txt -type f)
for x in "${foundfiles}"
do
echo "${x##*/}"
echo "$x"
done
としてやると、初めのファイルのファイル名だけ出てきて、あとは検索結果が表示されるだけでした。
なにがまずかったのですか?直すことはできるのでしょうか? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0738名無しさん@お腹いっぱい。
2015/06/12(金) 13:33:39.96そのあたりがわかってないみたい
がんばれ
0739名無しさん@お腹いっぱい。
2015/06/12(金) 14:39:13.27なんでなんだろう?
for x in "$@"
というのをよく見かけるからまねしてました。
"${foundfiles}"は検索結果を1つの文字列にする。
なら、"$@"は?あれれ?
どういうことなのでしょうか?
0740名無しさん@お腹いっぱい。
2015/06/12(金) 14:43:19.06そうしない身に付かない
0741名無しさん@お腹いっぱい。
2015/06/12(金) 14:49:36.84for で変数に入れて回す場合、IFSに改行をセットして、区切ってもらうために変数をクォートはしない
#!/bin/sh -x
var='
a b c d e
2OrMoreSpaces between the words
x y z
'
IFS='
'
# for i in "${var}"
for i in ${var}
do
echo "=> $i <="
done
応援するよ。がんばって
0742741
2015/06/12(金) 15:27:47.27□E. 学習用テキスト
1. Bourne Shell自習テキスト ( 1993年 ) pdf お薦め
一応、引用しといた
man dash
@ Expands to the positional parameters, starting from one.
When the expansion occurs within double-quotes, each posi‐
tional parameter expands as a separate argument. If there
are no positional parameters, the expansion of @ generates
zero arguments, even when @ is double-quoted. What this
basically means, for example, is if $1 is “abc” and $2 is
“def ghi”, then "$@" expands to the two arguments:
"abc" "def ghi"
$1 が "abc"で、$2 が "def ghi" のとき、"$@" は "abc" "def ghi" に展開される
0743名無しさん@お腹いっぱい。
2015/06/12(金) 15:31:58.73訂正 man bash、man dash
0744名無しさん@お腹いっぱい。
2015/06/13(土) 13:45:25.05ネット上の記述とmanで今までなんとかこなせてたけど
基本がないとだめですね
早速、>>6を読んでみます
0745名無しさん@お腹いっぱい。
2015/06/13(土) 20:52:58.13foundfiles=( $(find /hoge/hoge1 /foo/foo1 -name *.txt -type f) ) ←配列にする
for x in "${foundfiles[@]}"
でおk
0746名無しさん@お腹いっぱい。
2015/06/15(月) 13:27:36.31それでできました
()はコマンド置換だけじゃないんですね
0747名無しさん@お腹いっぱい。
2015/06/15(月) 13:44:30.600748名無しさん@お腹いっぱい。
2015/06/15(月) 23:58:45.64-----------------------
#!/bin/bash
LAST=0
function test() {
LAST=$1
echo $LAST
}
echo "LAST=$LAST"
test 111
echo "LAST=$LAST"
x=$(test 222)
echo "LAST=$LAST x=$x"
--------------------------
を実行すると
LAST=0
111
LAST=111
LAST=111 x=222 ←なぜ LASTが 222に変更されないのか?
実際は関数のネストとかでもっと複雑だったんだが、
変な動作するようになってデバッグに苦労した・・・
0749名無しさん@お腹いっぱい。
2015/06/16(火) 00:33:43.810750名無しさん@お腹いっぱい。
2015/06/16(火) 00:48:56.390751名無しさん@お腹いっぱい。
2015/06/17(水) 12:27:35.75スペース入りファイル名に未対応、失格。
0752名無しさん@お腹いっぱい。
2015/06/17(水) 13:55:31.31では模範解答をどうぞ
0753名無しさん@お腹いっぱい。
2015/06/17(水) 20:41:26.360754名無しさん@お腹いっぱい。
2015/06/17(水) 21:21:37.470755名無しさん@お腹いっぱい。
2015/06/17(水) 21:25:36.37IFS_tmp=$IFS; IFS=$"\n"
0756名無しさん@お腹いっぱい。
2015/06/18(木) 05:55:23.840757名無しさん@お腹いっぱい。
2015/06/18(木) 07:35:13.140758名無しさん@お腹いっぱい。
2015/06/18(木) 07:48:16.570759名無しさん@お腹いっぱい。
2015/06/18(木) 10:04:59.960760名無しさん@お腹いっぱい。
2015/06/18(木) 10:17:46.54を避ける理由は?
0761名無しさん@お腹いっぱい。
2015/06/23(火) 21:09:03.45でスペースや改行の入ったファイル名もOKだよね
unix仕様のファイル名の終端はNULLだったっけ?
0762名無しさん@お腹いっぱい。
2015/06/24(水) 07:32:33.60find ... -exec ... +
を避ける理由は?
0763名無しさん@お腹いっぱい。
2015/06/24(水) 15:25:39.96それ使うのは初心者で、逆に実行効率が悪くなる。
0764名無しさん@お腹いっぱい。
2015/06/24(水) 15:43:54.58理由は?
0765名無しさん@お腹いっぱい。
2015/06/24(水) 15:44:35.63xargsだとexecシステムコールの引数個数制限までは1個のプロセス作ってその引数に見つかったファイル全部渡すのかな?
0766名無しさん@お腹いっぱい。
2015/06/24(水) 15:53:10.35> find ... -exec ... +
これの最後の+の意味調べないで、言いがかりつけてんの?
0767名無しさん@お腹いっぱい。
2015/06/24(水) 20:58:37.540768名無しさん@お腹いっぱい。
2015/06/26(金) 03:14:09.550769名無しさん@お腹いっぱい。
2015/06/26(金) 08:16:34.16find . -exec sh -c 'mv "$@" hoge' {} +
今度は逃げ出すかな?
0770名無しさん@お腹いっぱい。
2015/06/26(金) 08:48:53.03それ、1番目に見つかったファイル(ディレクトリ)のみ取りこぼすバグあり。
find . -exec sh -c 'mv "$@" hoge' DUMMY {} +
DUMMYが必要。
0771名無しさん@お腹いっぱい。
2015/06/26(金) 09:07:10.65xargsと比べてって事だから、省略したけど、.を避けるのはfindでやるんだろ。
あえてやるなら
find . -exec sh -c 'shift; mv "$@" hoge' {} +
xargs押しのベテランさんはどうするんだろう?
初心者に教えてくださいな。
0772名無しさん@お腹いっぱい。
2015/06/26(金) 09:11:18.72プロセスが無駄とか言っておきながらsh使うってバカなの?
しかもファイル数に比例した分だけ起動するから、一つで済むxargs以下じゃん。やっぱりバカだろ。
0773名無しさん@お腹いっぱい。
2015/06/26(金) 09:21:57.94オマエ、DUMMYの意味わかってないのか。
shiftしたら逆だぞ、引数「2個」取りこぼす。
shiftの逆(そんなのないけど)をやる必要があるんだよw
0774名無しさん@お腹いっぱい。
2015/06/26(金) 09:31:47.52$ sh -c 'echo "$@"' 1 2 3 4
2 3 4
↑なぜ 1 が消えるかわかるかな?
$ sh -c 'echo "$@"' DUMMY 1 2 3 4
1 2 3 4
↑DUMMYを入れると 1 を取りこぼさないねw
0775名無しさん@お腹いっぱい。
2015/06/26(金) 11:33:10.48ベテラン(老害ともいう)登場。
おじいちゃんが現役時代のfindはそうだったらしいけど、今のfindはもっとお利口なんだよ。
おじいちゃんが現役だったころは
find ... -exec ..... \;
だっただろ。今は
find ... -exec ..... +
ってやるんだよ。
>>773-774 これはスマンかった。これだね
| sh -c string [name [arg ...]]
でも、shiftは$1以降に対して働くから
> shiftしたら逆だぞ、引数「2個」取りこぼす。
キミもわかってないね。
0776名無しさん@お腹いっぱい。
2015/06/26(金) 11:51:05.260777名無しさん@お腹いっぱい。
2015/06/26(金) 11:55:14.50sh -c 'echo "${1:+"$0" "$@"}"' 1 2 3 4
煽りぎみの言葉(言いがかり、逃げ出した、メンタルだけは褒めてあげよう、バカ)を
無闇に使うのは止めてさあ、楽しくいこう
これだけ知ってりゃあ良いでしょ
歴史的には -print0 は GNU find の、-exec + は他の多くの Unix での拡張で、
移植の際は注意が必要だったが、-exec + が 2001年版から POSIX に記載された事で
GNU find でも 2005 年頃( ver 4.2.12 )から -exec + が使える様になった
新しく書くスクリプトでは xargs の別の機能を使う場合を除いて find -exec + の方が良いだろう
ちなみに -exec + も SVR4 からあるようだよ
http://www.in-ulm.de/~mascheck/various/find/
> Actually it originates from SVR4 ('88), where it was not documented yet (this feature implemented by
> D.Korn, see two messages from the austin-group-list, local copies),
0778名無しさん@お腹いっぱい。
2015/06/26(金) 12:06:22.640779名無しさん@お腹いっぱい。
2015/06/26(金) 12:11:39.690780名無しさん@お腹いっぱい。
2015/06/26(金) 13:06:31.47なにを指摘されたのかも理解していないようだ
0781名無しさん@お腹いっぱい。
2015/06/26(金) 13:08:31.26>新しく書くスクリプトでは xargs の別の機能を使う場合を除いて find -exec + の方が良いだろう
よくない、という指摘をしてるんだが...
0782名無しさん@お腹いっぱい。
2015/06/26(金) 17:04:27.96なにを指摘されたのかも理解していないようだ
0783名無しさん@お腹いっぱい。
2015/06/26(金) 18:36:29.66http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=find&dir=jpman-5.4.0%2Fman§=0#sect3
> -exec utility [argument ...] {} +
> -exec と同じですが、各 utility の起動において ``{}'' はなるべく多
> くのパス名と置き換えられます。この動作は xargs(1) のものに似てい
> ます。
http://linuxjm.osdn.jp/html/GNU_findutils/man1/find.1.html
> -exec command {} +
> アクション -exec のこの変形も、選択したファイルに対して指定したコマンドを実行するが、
> コマンドラインを形成するとき、選択した各ファイル名をコマンドラインの末尾に
> 追加して行くという方法を取る(訳注: 略)。
> そのため、コマンドを呼び出す回数は、マッチしたファイルの数より ずっと少なくてすむわけだ。
> コマンドラインの形成法は、xargs のコマンドライン形成法とほぼ同じである。
0784名無しさん@お腹いっぱい。
2015/06/26(金) 18:48:07.560785名無しさん@お腹いっぱい。
2015/06/26(金) 22:37:52.51こんなの書かなきゃいけなくなる場合ならxargsでいい気がする
0786名無しさん@お腹いっぱい。
2015/06/26(金) 23:30:59.69バカはすぐオウム返しするよな。
0787名無しさん@お腹いっぱい。
2015/06/26(金) 23:32:45.65それを貼って、何の意味があるの?
0788名無しさん@お腹いっぱい。
2015/06/27(土) 00:07:20.23-exec + を分かっていなさそうな発言 >>765 に加え >>772 でも見られ、
話がかみ合っていない原因かもしれないと考え、念の為貼っておいた
ちなみに >>784 は別人
0789名無しさん@お腹いっぱい。
2015/06/27(土) 00:25:43.31お前、プロセスの数も数えられないの?
日本語も読めないようだし、本当、生きてて大丈夫か?
0790名無しさん@お腹いっぱい。
2015/06/27(土) 07:41:59.250791名無しさん@お腹いっぱい。
2015/06/27(土) 08:10:57.63おじいちゃんの頃はステップ関数は比例って習ったの?
今はちがうんだよ。
0792名無しさん@お腹いっぱい。
2015/06/27(土) 13:57:24.860793名無しさん@お腹いっぱい。
2015/06/27(土) 18:01:58.60限定的な条件でxargsの方がファイル数/MAX_ARGSだけプロセス数が少ないから勝ちなの?
はいはい、えらいえらい。
0794名無しさん@お腹いっぱい。
2015/06/27(土) 19:42:45.43+は使い物にならんとか親切に教えてあげたら、
shとか持ち出す本末転倒ぶりを晒してるだけじゃん。
いい加減逆ギレはみっともないよ。
0795名無しさん@お腹いっぱい。
2015/06/27(土) 20:48:29.92おじいちゃんの世代って、わかりやすくて楽だね。
0796名無しさん@お腹いっぱい。
2015/06/27(土) 22:37:52.630797名無しさん@お腹いっぱい。
2015/06/28(日) 07:24:37.85↑で解決。不要プロセスなし。
0798名無しさん@お腹いっぱい。
2015/06/28(日) 16:41:15.990799名無しさん@お腹いっぱい。
2015/06/28(日) 17:03:28.700800名無しさん@お腹いっぱい。
2015/06/28(日) 22:54:42.250801名無しさん@お腹いっぱい。
2015/06/29(月) 11:33:48.48sed -e 's/[a-z][0-9]/.00./g' やsed -e 's/[a-z][0-9]/[a-z]AA[0-9]/g' を
試しましたがうまくいきませんでした。
どのようにすればよいのでしょうか?sed以外でできるのでしょうか?
0802名無しさん@お腹いっぱい。
2015/06/29(月) 12:03:55.860803名無しさん@お腹いっぱい。
2015/06/29(月) 12:06:03.81sed -e 's/\([a-z]+\)\([0-9]+\)/\1AA\2/g'
0804名無しさん@お腹いっぱい。
2015/06/29(月) 12:21:46.28をやってみましたがだめでした。なんでだろう。
manをみると2005年のものでした。
0805名無しさん@お腹いっぱい。
2015/06/29(月) 13:47:40.61バージョンのせいかな
勉強になりました
ありがとうございました
0806名無しさん@お腹いっぱい。
2015/06/29(月) 13:57:57.10どのmanを読んでるのかわからん
0807名無しさん@お腹いっぱい。
2015/06/29(月) 14:26:49.95GNU sed では + が使える」というオチの予感がします。
# 今ちょっと調べてみるまで GNU sed で + が使えるとは知らなかった……
0808名無しさん@お腹いっぱい。
2015/06/29(月) 14:40:06.660809名無しさん@お腹いっぱい。
2015/06/29(月) 19:01:07.47使ってるコマンドのオプションが違ってて使えなかったなあ
まあ最新のパッケージ落とせばよかったんだろうけど皆はどうしてる?
0810名無しさん@お腹いっぱい。
2015/06/29(月) 20:34:14.84+ じゃなくて \+ ではどうよ?
echo abc123 | sed -e 's/\([a-z]\+\)\([0-9]\+\)/\1AA\2/g'
0811名無しさん@お腹いっぱい。
2015/06/29(月) 21:17:14.01シェルスクリプトで株の発注のようなことはできませんかね?
証券会社にログインしフォーム入力して発注ボタン押すような・・
そんな言語じゃないと思うのですができたら人気出るかなあと
0812名無しさん@お腹いっぱい。
2015/06/29(月) 21:20:48.700813名無しさん@お腹いっぱい。
2015/06/29(月) 21:26:58.240814名無しさん@お腹いっぱい。
2015/06/29(月) 21:38:54.990815名無しさん@お腹いっぱい。
2015/06/29(月) 21:41:19.11昔、シェルスクリプトでロト6の番号を出していたのはいい思い出
一度も当たらなかったけどな・・・
■ このスレッドは過去ログ倉庫に格納されています