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


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

シェルスクリプト総合 その25



1 名前:名無しさん@お腹いっぱい。 mailto:sageteoff [2015/08/14(金) 23:42:01.51 .net]
シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
 FreeBSDユーザは/bin/shの正体がashなので注意。
 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
  src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/
  heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
 (理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
 「そういうのはperl使いましょう」と回答するのはやめましょう。
 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その24
peace.2ch.net/test/read.cgi/unix/1415634843/

906 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/10(金) 15:26:37.64 .net]
cygwinでスクリプト書いてて時々

bar=`ls foo_*.txt|tail -1|cut -d\. -f1`
で$barに高確率で何も入らなかったり(foo_*.txtはあるのに)

bar=`echo $foo|perl -pE 's/^.*"hoge":"([^"]+)".*$/HOGE_\1/'`
echo $bar > /dev/null
echo "result:"$bar
の2行目がないと何故か3行目で$barが空のように表示されたり

というような現象が起きるんだけど、これってよくあること?
cygwin64にしてから起きているような気もする

907 名前:名無しさん@お腹いっぱい。 [2017/02/10(金) 15:56:58.38 .net]
.
.
東京都三鷹市 元ニコ生主の莉里子です (整形後) i.imgur.com/SLcz3dS.jpg (整形前) i.imgur.com/zPvxpx5.png
不倫・浮気・密会・不道徳な行為は著名な小説家でしている人がいるので真似しちゃう池沼です i.imgur.com/vZeIuO3.png


■2015年2月 釣りニコ生主コジコジと沖縄旅行でオフパコ

2015年2月2日-3日...釣り生主コジコジと沖縄旅行でセックス/やり捨てされ逆ギレ
2015年2月4日.........莉里子の父親から電話があって脅されたとコジコジに放送で暴露される
2015年2月6日.........リスカ画像UP 
2015年2月9日.........ツイ全消し/コミュ爆破逃亡
imgur.com/a/58WQC 

■2016年6月 バンドマン兼ニコ生ツイキャス配信者と密会 その3日後に穴るセックス〜継続中
imgur.com/a/Lx8o2


●早川莉里子●土井莉里子●土井寧々●土井剛●早川剛●星崎●りりこ●りりこし●にゃんぱす
●ね子●にゃこ●みんち●めう●ねね●猫又●剛


※名古屋ゲイ風俗ホストとも体の関係※

908 名前:名無しさん@お腹いっぱい。 [2017/02/10(金) 15:57:21.03 .net]
.
.
莉里子(本人公表)1994年3月7日 or 1996年4月25日 imgur.com/a/oJZpv
生主時代(にゃんぱす、りりこし、莉里子)
剛 i.imgur.com/dQxxGuV.png  imgur.com/a/gPaof
 

東京都三鷹市 シティハイツ吉祥寺通り
i.imgur.com/UmTmbcu.jpg
i.imgur.com/cODTuzm.png
i.imgur.com/KdyuUod.png
imgur.com/a/eeixK (見せたがり乱交好きのメンヘラ) i.imgur.com/9V5mmTh.png

i.imgur.com/lobby7w.png
i.imgur.com/AdewV6O.jpg
i.imgur.com/YQaNYBd.png
i.imgur.com/pdsCXHG.jpg


莉里子 緊縛ハメ撮り師 『相馬ドリルrenji』 とラブホに2人で入って フルヌード緊縛ハメ撮り
https://pbs.twimg.com/media/CpFjMz0UEAAurD-.jpg  i.imgur.com/xaAhkiD.png
https://twitter.com/somadrill/status/761498960028499968
imgur.com/a/3dnz5
i.imgur.com/SAAZ0fQ.png

909 名前:名無しさん@お腹いっぱい。 [2017/02/10(金) 15:57:31.97 .net]
.
.
.

>悪質パクツイ垢(自称ハッカー)のコピーライティング特定されててワロた

@copy__writing の中の人は東京都三鷹市の莉里子

https://twitter.com/copy__writing
i.imgur.com/LyXsDj9.png
i.imgur.com/nqT3xBN.png
i.imgur.com/2FlhfLE.jpg
https://www.mercari.com/jp/u/446591929/

910 名前:名無しさん@お腹いっぱい。 [2017/02/10(金) 15:58:37.98 .net]
■莉里子プライベート垢
@riricoco0
@bibliophilia333
@muzimuzi333
@nekomatagensou
@hanasoraumimori
@mirainosekai3
@zibanyan666
@parlorchild
@liliririko
@EriotN
@mike_peko
@riricoco0
@ririko_neko
@nyanpas ※1
@telegraphyneko
@riricatputi (新アカ) imgur.com/a/X1vQA

911 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/10(金) 22:49:49.54 .net]
>>889
再現性はあるの?
手で実行してるのか知らないけど
lsの結果をファイルにリダイレクトしといて(ログ残しておいて)
地道に調べるしかないと思う

912 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 09:44:10.27 .net]
SJISで漢字を含むCSVファイルを入力として、

while read line
do
なんちゃら
done < CSV

みたいに一行ずつ読み込んでなんちゃらすると、特定の漢字をreadで取った時に文字化けするんだが
これの回避策って兄貴何かないかな
とりあえずIFSを改行のみにしてfor line in `cat CSV`にして凌いだが、IFSいじるのが気持ち悪くて仕方がない

913 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 10:11:22.08 .net]
なんの漢字?

914 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 10:13:38.18 .net]
SJISなんてウンコを触っておきながらIFS弄るのが気持ち悪いというのは矛盾



915 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 10:35:53.64 .net]
>>895
0x5C を含む漢字でしょ、「表」とか
だったら read -r line で

916 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 10:44:50.39 .net]
>>898
KOREDAAAAA!!!
ありがとう兄貴
ちなみに構造って感じでつまづいてた
SJIS扱うのは古いプロジェクトならよくあることよ

917 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 10:54:10.92 .net]
そうか2バイト文字の1バイトが&#165;なせいでエスケープ扱いしちゃってたのな…
UTF8とかだと回避出来るんかなこれは

918 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 11:54:23.78 .net]
んなもん当たり前だろ、としか思えない私はおっさん確定。SJIS死すべしと思っていたのは25年前くらい?
これが世代というものなんですね……

919 名前:894 mailto:sage [2017/02/14(火) 13:40:31.07 .net]
25年前からプログラマやってる人と並んだらさすがに俺はクソガキだわ
にしても意外なほどググっても出ないな、それほどマイナーなのかこの症状
もしくは当たり前すぎるのか

920 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 15:20:01.03 .net]
>>902
sjis ダメ文字でググればごろごろと

921 名前:894 mailto:sage [2017/02/14(火) 15:23:50.72 .net]
>>903
sh read 漢字 文字化け とかで出てほしかった…
勉強なったわサンクス

922 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 15:40:03.34 .net]
sjis 文字化け でも出るで
もう少しやったな

923 名前:894 mailto:sage [2017/02/14(火) 16:05:30.25 .net]
あー、出るには出るけど多分readとの関連に気づかなかったろうな…ダメ文字ってものをまず知らなかったし
特定の漢字が文字化けってあたりの記事から推察して、SJISがなんかマズイってとこにはたどり着いたかもしれんが、多分それでもread -rには気づかなかったと思うわ
iconv -t utf8してたと思う

924 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 17:11:17.24 .net]
>>906
iconv を利用するのはアリだと思うよ。
業務系のシェルスクリプトでも「SJIS データを一時的に UTF-8 にコンバートして何らかの処理をした後に SJIS に戻す」という手法で実装することがある。



925 名前:894 mailto:sage [2017/02/14(火) 17:17:09.33 .net]
>>907
便利だよねiconv

926 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/14(火) 20:50:41.08 .net]
おれは、使い慣れてるnkfでcp932→utf-8に変換してから作業してるわ。

927 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/15(水) 01:22:16.71 .net]
そんで戻ってこない文字が出てきて泣きそうになるまでがテンプレだね。

928 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/15(水) 01:34:33.21 .net]
それでもiconvなら
iconvならきっとなんとかしてくれる

929 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/15(水) 04:53:01.40 .net]
元がcp932なら変換不能になることはないだろう
そう、iconvならね

930 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 04:37:58.77 .net]
#!/bin/bash
echo A > test.txt ; echo B >> test.txt
ARRAY=$(cat test.txt)
for item in ${ARRAY[@]}; do
echo $item
done
としたら
A
B
と表示されるので、$ARRAYは 2個の要素を持つ配列になったのだと思っていました。

ところが要素数を
echo ${#ARRAY[@]}
で表示させたら 1 が表示されます。

$ARRAYは配列になっていないのでしょうか?
だとすると、なぜ for item … で表示されたのか?

931 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 04:55:39.09 .net]
indexも表示させればわかるよ

echo A > test.txt; echo B >> test.txt

ARRAY=$(cat /tmp/test.txt)
for (( i=0; i<${#ARRAY[@]}; i++ )) do
printf "ARRAY index:%d value:%s\n" "$i" "${ARRAY[i]}"
done

readarray -t ARRAY2 < <(cat /tmp/test.txt)
for (( i=0; i<${#ARRAY2[@]}; i++ )) do
printf "ARRAY2 index:%d value:%s\n" "$i" "${ARRAY2[i]}"
done

932 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 05:52:55.03 .net]
>>914
readarray -t ARRAY < <(cat test.txt)
で綺麗に配列として読まれますね。
これでいま作っている自作ツールが完成出来ます。
ありがとうございます

933 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 09:43:20.54 .net]
最初の例のやつ、多分配列になってないんじゃないか

934 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 14:18:47.86 .net]
>>916
#!/bin/bash
echo A > test.txt ; echo B >> test.txt
ARRAY=$(cat test.txt)
N=1
for item in ${ARRAY[@]}; do
echo ARRAY[$N]=$item
N=$(($N + 1))
done

としたら
ARRAY[1]=A
ARRAY[2]=B
と表示されて、配列になっているようです



935 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 16:02:36.82 .net]
>>917
それは配列になってるんじゃなくてforループで一つ目の要素がsplitされてるだけ
echo A > test.txt ; echo B C >> test.txt みたいにスペースなんかが入ると対処できないからそういうコードはやめたほうがいい
for item in "${ARRAY[@]}"; do ってクウォートすると結果変わるでしょ?

あと”<(cat test.txt)”は比較のために書いただけでcatしなくても大丈夫
readarray -t ARRAY < test.txt

while readするかreadarray(=mapfile)使うか
mywiki.wooledge.org/BashFAQ/005#Loading_lines_from_a_file_or_stream

936 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/18(土) 17:07:28.86 .net]
>>918
> それは配列になってるんじゃなくてforループで一つ目の要素がsplitされてるだけ
> for item in "${ARRAY[@]}"; do ってクウォートすると結果変わるでしょ?

なるほど。
配列になっていないのと、検証の方法が間違っていたことがよく理解出来ました。

> echo A > test.txt ; echo B C >> test.txt みたいにスペースなんかが入ると対処できないからそういうコードはやめたほうがいい

気を付けます。

> あと”<(cat test.txt)”は比較のために書いただけでcatしなくても大丈夫
> readarray -t ARRAY < test.txt
> while readするかreadarray(=mapfile)使うか
> mywiki.wooledge.org/BashFAQ/005#Loading_lines_from_a_file_or_stream

ありがとうございます。
もっと勉強します

937 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/20(月) 13:16:49.47 .net]
>>919
[user@f25 ~]$ ARRAY=$(cat test.txt)
[user@f25 ~]$ declare -p ARRAY
declare -- ARRAY="A
B"
[user@f25 ~]$ readarray -t ARRAY < test.txt
[user@f25 ~]$ declare -p ARRAY
declare -a ARRAY='([0]="A" [1]="B")'

938 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/20(月) 18:00:26.41 .net]
>>920
declare -p !!!
知らなんだ

939 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/20(月) 18:11:16.14 .net]
このスレ来ると度々便利な知識得られるからいいわ
grep -oとか

940 名前:名無しさん@お腹いっぱい。 [2017/02/21(火) 05:20:06.32 .net]
配列にするなら
ARRAY=( $(cat test.txt) )

941 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/21(火) 16:45:06.28 .net]
>>923
echo A > test.txt ; echo B C >> test.txt みたいにスペースなんかが入ると…

942 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/21(火) 19:03:20.01 .net]
IFS=$'\n'
ARRAY=( $(cat test.txt) )
declare -p ARRAY

とすれば空白混じりの行も1行として扱われるが、
空行(何も文字が無い行)は$ARRAYに読み込まれない

readarray -t ARRAY < test.txt
declare -p ARRAY

だと空行も読み込んでくれる

943 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/02/28(火) 23:57:54.64 .net]
echo test | grep a
みたいな時に終了コードはgrepこの場合1
でかつ標準出力にはtestが出ていて欲しいのですが

どうしたらいいでしょうか?
環境はbashです

944 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 00:40:42.45 .net]
echo test | tee /dev/tty | grep a

でどうだろう?



945 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 00:57:07.01 .net]
終了コード1のときにはその文字列を表示したいとかによって違う気がする。
常に入力をそのまま出力していいのだろうか。

946 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 01:36:33.88 .net]
仕様を細かく詰めてない気がするけど とりあえず
echo test | ( grep -v a; exit $(expr \( "$?" + 1 \) % 2 ))

947 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 02:35:11.20 .net]
みなさん、ありがとうございます

echo の部分は常に表示、grepは結果のみ欲しいので-qで、判定につかうインプットは常に全量表示して、結果はリターンコード、標準出力は人が見るよう、リターコードはその後のシステム的な分岐につかう的な目的です(後続はbashの世界でないのでワンライナーが嬉しい)

948 名前:名無しさん@お腹いっぱい。 [2017/03/01(水) 05:09:32.29 .net]
macのsipsコマンドについて質問しても大丈夫ですか?
例えば-zと-sを一緒に実行して--out でフォルダに書き出したいとして
どういうルールで並べて記述すればいいでしょうか?

sips -Z 200 * -s format jpeg --out Converted/
あれこれいじって、たまたまこれで動いたのですが
正しいのかわかりません。
よろしくお願いします。スレチだったらすいません。

949 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 09:20:45.49 .net]
>>930
grep にこだわらくても良くて、GNU sed を使ってもいい場合:

$ echo test | sed '/a/!q1'
test
$ echo $?
1

950 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 09:22:21.87 .net]
>>931
正しいけどスレチ
man見ろ
見られないんなら
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/sips.1.html

951 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 09:41:41.92 .net]
要求満たしつつ個人的に好きなのは>>927

952 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 09:50:14.78 .net]
「標準出力」じゃないから要求満たしてないんじゃない?

953 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 10:04:09.41 .net]
>>931
そういえばこういうスレもあったり
【Macintosh】MacでUNIX【Terminal】
echo.2ch.net/test/read.cgi/unix/1123501408/

mac板でよかった気もするけど
OS XをUnixとして使ってる人の為のスレ 18
potato.2ch.net/test/read.cgi/mac/1462475819/

954 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 10:17:52.51 .net]
>>932
あ、間違えた…こうしないと

$ echo test | sed -n 'p;/a/H;${x;/./q0;q1}'



955 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 12:19:32.48 .net]
echo test | awk '/a/{x=1}//END{exit !x}'

956 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 17:16:16.75 .net]
$ echo test | awk '/a/{x=1}{print}END{exit !x}'

じゃないの?

957 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 17:36:55.41 .net]
$ echo test | grep -B10000 -A10000 a

958 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/01(水) 17:38:08.89 .net]
あああ、1行もマッチしないとダメだ

959 名前:名無しさん@お腹いっぱい。 [2017/03/01(水) 21:54:56.86 .net]
>>933 >>936
スレチにもかかわらずありがとうございました!

960 名前:名無しさん@お腹いっぱい。 [2017/03/04(土) 09:13:31.42 .net]
>>931
うちでもよく使うが、sips なんて他には無いからな

for i *.jpg; do sips -Z 200 $i -s format jpeg --out Converted/$i; done

ところでマカーな人はbash4入れてるんですかね。bash3なので、最近ココで出てくるreadarrayが使えない

961 名前:名無しさん@お腹いっぱい。 [2017/03/04(土) 09:17:20.48 .net]
あー in が抜けてる
for i in *.jpg ; do な

962 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/04(土) 10:32:40.92 .net]
ImageMagickのconvertみたいなものか

963 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/04(土) 18:32:17.60 .net]
>>943
>ところでマカーな人はbash4入れてるんですかね。

Homebrewで入れてそっち使うようにしてる

964 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/07(火) 19:02:41.56 .net]
いつもシェルが使える環境ある?
自分は仕事ならcygwin(今は使ってない)、実機、仮想環境
プライベートならラズパイ、仮想環境かな



965 名前:名無しさん@お腹いっぱい。 [2017/03/07(火) 22:43:56.07 .net]
Mac

966 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/07(火) 23:30:24.96 .net]
俺はスマホにzsh入れてるけど

967 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/08(水) 01:50:34.93 .net]
>>947
SL-Zaurus(SL-C860)を今だに現役で使っているよ

968 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/09(木) 02:31:23.57 .net]
そういうのって
ただ書けるだけじゃなくて動かせたり
実際にその機械で便利に使えたりするのですか?

969 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/09(木) 17:50:34.83 .net]
pythonの出力をシェルの変数にするにはどうやれできますか?

x=$( python test.py )
はダメでした

970 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/09(木) 17:58:17.55 .net]
$ cat test.py
print("Hello world!")
$ python test.py
Hello world!
$ x=$(python test.py)
$ echo $x
Hello world!

971 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/10(金) 09:16:11.80 .net]
あれ?そうだよなと思ったら、pythonの文字コードの扱いが変でした
シェルごめんよ

972 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/10(金) 13:07:41.33 .net]
pythonのせいにするのもどうかと

973 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/10(金) 16:08:16.57 .net]
pythonは文字コード周り落とし穴が多いすぎ
pythonのせい

974 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/11(土) 22:32:29.75 .net]
$@から$1を除いたものを関数に渡す方法を教えてくだしあ



975 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/11(土) 22:46:42.79 .net]
shiftするしかないんじゃないかな
呼出し後に元に戻したいとするとsetかな

976 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/11(土) 23:06:24.73 .net]
呼び出し先でshiftすりゃいいじゃん

977 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/12(日) 00:12:25.14 .net]
せやな!

978 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/12(日) 01:47:16.95 .net]
>>957
bash なら "${@:2}" でええんちゃう

979 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/12(日) 04:14:35.39 .net]
>>961
その発想もなかった
パラメータとして渡すならこっちの方が分かりやすいな

980 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/12(日) 19:17:36.56 .net]
ずっと、行の抜き出しはprcegrepを使ってたげど
sed -n -e '/hoge1/,/hoge2/p'
これでできるのを、今知って感動中。しかも、こっちの方が速い。
そのあとの置換は
sed -n -e '/hoge1/,/hoge2/p' | sed -e 's/foo/bar/g'
としかできなかったけど
sed -n -e '/hoge1/,/hoge2/p' -e 's/foo/bar/g'
で、やる方法とかであるんですか?

981 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/12(日) 20:09:10.06 .net]
sed -n -e 's/foo/bar/g' -e '/hoge1/,/hoge2/p'
じゃだめなの?

982 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/12(日) 20:49:35.74 .net]
sed -ne '/hoge1/,/hoge2/{s/foo/bar/g;p;}'
でもいけそう

983 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/13(月) 15:22:55.40 .net]
sedスレあるのに忘れられてそうw

984 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/13(月) 17:19:42.05 .net]
sed -e '/hoge1/,/hoge2/!d' -e 's/foo/bar/g'



985 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/13(月) 19:49:20.42 .net]
ありがとうございます
さらに速くなりました

一番最後の文字はコマンドというのを実感

986 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/13(月) 20:38:32.02 .net]
sedは-n使ったら負け

987 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 13:36:43.93 .net]
なんで?

988 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 13:37:42.13 .net]
うるさい!
俺が負けだって言ったら負けなんだよ
大人しく言う事聞け

989 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 13:43:38.36 .net]
なんだそのダメな親みたいな言い分は

990 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 13:45:42.22 .net]
むしろジャイアンかな

991 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 16:27:57.38 .net]
pでプリントした行は元質問にもあるようにストリームを流れて行かない、
お漏らししたようなものだからね

992 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 18:03:51.07 .net]
sed だと、後方参照の時にバックスラッシュでエスケープしまくることになるのがどうにも…
それで、いつの間にか perl を代わりに使うようになった。

993 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 19:02:59.32 .net]
sedでできることをperlでやるのは微妙に悔しいw

994 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 20:28:01.98 .net]
sed -e "s/微妙に/非常に/" >976



995 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 20:45:20.13 .net]
入力なくね?

996 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/15(水) 20:58:18.06 .net]
考えすぎ

997 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/16(木) 12:44:27.48 .net]
>>978
sed -e "s/微妙に/非常に/" <975 >976
ってやって空のファイルを作ってしまったあの頃...

998 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/16(木) 12:47:16.46 .net]
分からんでもない

999 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/16(木) 16:23:09.20 .net]
最初に head/tail、grep、sort 辺りを処理の都合上先にやることが多いので、
sed の入力にはパイプを使うことが多いかな。

1000 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/16(木) 22:48:37.43 .net]
日本語下手かw

1001 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/18(土) 22:25:35.75 .net]
grepしてsedは素人

1002 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/18(土) 23:27:17.30 .net]
なんで?

1003 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 00:04:19.09 .net]
sedだけでできるからかと

1004 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 00:24:39.59 .net]
grepである程度簡単なワードで絞ってからのほうが、複雑な置換は早そうだけど



1005 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 00:57:36.33 .net]
実験して見せられるまで性能に関する予想は信じない

1006 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 01:06:54.08 .net]
まぁこじらせた人にてみればその手間は実に腹立つだろうな

1007 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 10:07:51.17 .net]
「ひとつのことを上手くやる」から考えると、grep してから sed の方がマッチしてそう

1008 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 11:41:33.99 .net]
windowsのdos窓は使えるけれど、grep、sed、awk、perlなどはなし。当然他のスクリプト言語もなし。
さらに、新たなソフトのインスコはできない。
まあ、notepadでソースの編集はできる。

Eドライブには多くのフォルダがあって、中にはjpegのえろ画像が1テラ分てんこ盛り
えろ画像だけを全部Dドライブにコピーしたい。
Eドライブのフォルダを見ると8階層ぐらいのフォルダもあって、とても手作業のコピペはムリ。

にゃんとか目的を達成する方法はないであろうか?!
各位のお知恵を拝借したい。

1009 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 13:00:13.49 .net]
powershell でも使えばいいんじゃないかな

1010 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 14:12:15.82 .net]
ここじゃなくてもっと他に聞くべき所があるだろうな

1011 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 20:18:27.47 .net]
その環境的な制限がありつつ、エロ画像を扱うという状況が想像できないな
仕事でエロ画像を扱ってるか上司の個人環境とかかな

1012 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 20:31:39.22 .net]
robocopyでコピーすれば良い

1013 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 20:55:37.07 .net]
>>988
GNU grep + GNU awk の場合だけど、GNU awk単独よりも早いらしいぞ
papiro.hatenablog.jp/entry/2015/05/19/003432

1014 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 22:03:55.18 .net]
ドライブを別のPCからアクセス可能にしたらいいのに



1015 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 23:09:48.69 .net]
>>996
timeの使い方を知らないって事を自慢してどうしたいんだ?

1016 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/19(日) 23:10:46.82 .net]
エロ画像に寛容なUNIX板

1017 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/20(月) 10:44:19.74 .net]
>>994
昔社内から netnews が見れてたので perl でスクリプト組んでエロ画像落としまくってたのをふと思い出した
当時は普通にFDに移動して持ち帰ってたけど

1018 名前:名無しさん@お腹いっぱい。 mailto:sage [2017/03/20(月) 12:06:05.49 .net]
俺にはもうFDってのがもうすごいわ

1019 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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