[過去ログ] シェルスクリプト総合 その27 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
32(1): 名無しさん@お腹いっぱい。 [sage] 2018/05/07(月) 16:38:07.46 AAS
>>3131(2): 名無しさん@お腹いっぱい。 [sage] 2018/05/07(月) 12:56:16.64 AAS
構造体も配列もない言語で、そんな複雑なデータ構造使うプログラム書いちゃいかん。
そういうのは他の言語に任せて、シェルスクリプトはその間のグルーに徹するようにしないと保守不能になる。
おじさん誰にレスしてんの?
83(2): 名無しさん@お腹いっぱい。 [sage] 2018/05/21(月) 10:50:09.46 AAS
>>7777(3): 名無しさん@お腹いっぱい。 [sage] 2018/05/21(月) 10:19:49.89 AAS
filehoge="test"
[ ! -f "$filehoge" ] exit 1
seq -f 'hoge%02g' 1 99 | while read hogedir
do
[ -d "$hogedir" ] && [ ! -f "$hogedir/$filehoge" ] && { cp "$filehoge" "$hogedir"; echo "copied into $hogedir"; }
done
[ ! -f "$filehoge" ] && exit 1
の間違いもあった。&&抜けてた、すまん。
>>7979(1): 名無しさん@お腹いっぱい。 [] 2018/05/21(月) 10:25:03.40 AAS
>>77
>>78
もの凄く高度ですね…
自分には理解できるかわかりませんがじっくり読ませてください
ありがとうございます
ん?まあ、for(forはアレでアレの回避があったような気がするがすぐ忘れる。 | while read hoge しか使わないので) と if(明示するだけだけど)で書けばいいよ
...
for hogedir in $(seq -f 'hoge%02g' 1 99)
...
if [ -d "$hogedir" ] && [ ! -f "$hogedir/$filehoge" ]; then
cp "$filehoge" "$hogedir"
...
fi
86: 72 [] 2018/05/21(月) 12:04:38.46 AAS
>>8282(3): 名無しさん@お腹いっぱい。 [sage] 2018/05/21(月) 10:42:46.03 AAS
findは存在を確認するのは楽だろうけど、存在しないことを確認するのは面倒じゃない?
考えるのに役立つアドバイスありがとうございます
>>83>>8484(1): 名無しさん@お腹いっぱい。 [sage] 2018/05/21(月) 10:57:49.03 AAS
あー、" で括るだけか。アレの場合も
for hogedir in "$(seq -f 'hoge%02g' 1 99)"
が、よりかな
>>8585(1): 名無しさん@お腹いっぱい。 [sage] 2018/05/21(月) 11:19:28.01 AAS
やっぱりダメなのかな??
touch 'hoge 01';touch 'hoge$02'
for name in "$(/bin/ls -1)"
/bin/ls -1 | while read name
やっぱforはメンドクサイから、安心簡単な while でいいやっ
更新してくださりありがとうございますm(_ _)m
読ませていただきます
97: 名無しさん@お腹いっぱい。 [sage] 2018/05/21(月) 23:07:13.46 AAS
PIDが若いから特権があるわけでもないしPIDが推測しやすいからっていうセキュリティ懸念ってなんだろ?
111: 名無しさん@お腹いっぱい。 [sage] 2018/05/23(水) 10:49:34.46 AAS
なんだったか、2chの鯖に関する貢献があったような
当時からいたわけじゃないからどっかのサイトで知った話だが
Flash黄金期にその話がFlash化されてたから見て知ったな
124: 名無しさん@お腹いっぱい。 [sage] 2018/05/24(木) 23:23:09.46 AAS
イミフ
149: 133 [sage] 2018/05/26(土) 12:32:36.46 AAS
シェルスクリプト内で自動で行いたい旨を
書き損じておりました。
cat ZZZ.txt |grep XXX
hoge
fuga
から
awk '($3 !~ /hoge|fuga|neko/) && ($4 ~ /01/)' output.txt
としたいのです。
>>146146(1): 名無しさん@お腹いっぱい。 [sage] 2018/05/26(土) 12:01:23.51 AAS
>>145
>>136
>$ cat ZZZ.txt | grep XXX | tr '\n' '|' | sed 's/|$//1'
>↑こういうので行けるけど。違うでしょ?
って教えてくれてるやん。「違わない」「それです」でいいんじゃないの?それが違うならどう違うって言うべきかと(どうみても違わないとしか思えないけど)
質問自体がアレだが自分の言いたいことをうまく説明できないのはいいとして、応えてくれてる人の言ってることがわからない/それに応えないのはアレだな
>$ cat ZZZ.txt | grep XXX | tr '\n' '|' | sed 's/|$//1'
でまさしく狙い通りの出力がされるのですが>>133133(3): 名無しさん@お腹いっぱい。 [sage] 2018/05/26(土) 04:09:24.19 AAS
お知恵お借りしたいです。
awk '($3 !~ /ここにパイプ区切りで記述したい/) && ($4 ~ /01/)' output.txt
上記のawkで条件に当てはまるファイルを絞り込みたいのですが
その1 別ファイルからのawkの結果を $aaa に設定してある
その2 $aaa は複数列の出力なので set コマンドにて位置パラメータに分けてある
その3 各変数を展開して文字列としてパイプで区切ってawkを使いたい。
以上のようなことをやってみたのですがどうもうまく行きません。
また、違うやり方もあるようでしたらご教示いただけるとありがたいです。
よろしくお願いします。
のawkのパターン部にどうかけば同じ文字列が出せるかわかりません
157: 名無しさん@お腹いっぱい。 [sage] 2018/05/30(水) 20:16:35.46 AAS
echo abc | sed -e 's/^a/'$'\033[1m&'$'\033[0m/1'
250: 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 02:24:52.46 AAS
>>248248(3): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 02:03:34.31 AAS
>>212
for hoge in "$aaa" "$bbb" "$ccc"
"$aaa" "$bbb" "$ccc"は、最初のアイテムを示すだけ(888, 777, 666)で間違い
"${aaa[@]"が正しいもしくはとしたかったのだろうが、だったらforの機能的にも変数をArrayにする必要はないだろう。その記述以下でなんかするのでないなら
aaa/bbb/cccは単なる文字列として、for内で必要となったらArrayに分解すれば簡単に目的は達成するだろう
(てか、配列にするならaaa/bbb/cccなんて個々の変数じゃなくてそれこそそれを配列にすればいいのにと思うけど)
aaa="888 犬 `date +"%Y%m%d"010000 -d last-sunday`"
...
for fuga in "$aaa" "$bbb" "$ccc"
do
hoge=$($fuga)
if [ -e ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4 ]; then
...
>"${aaa[@]"が正しいもしくは
} 閉じ忘れ。てか、"${aaa[@]}"でも間違いで、"${aaa[*]}" だな
346(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:07:56.46 AAS
>>343343(2): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 15:59:54.35 AAS
因みにCSVはRFCで「内部改行はCRLF」と定まっているので
ここから攻めるというのもアリ。
「\r\n」という組はフィールド区切りとしては無効にすればよろし
え? CSV出力すると内部改行がLFになるLibreOffice Calc?
知らない子ですね…
> 因みにCSVはRFCで「内部改行はCRLF」と定まっているので
なるほど、\n のようにエスケープしてはいけないんですね
719: 名無しさん@お腹いっぱい。 [sage] 2018/06/19(火) 18:46:56.46 AAS
>>717717(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/19(火) 08:03:40.13 AAS
5chに貼られたソースコードをコピペするってwセキュリティ意識ゼロかよw
絶対こんなの相手に発注したくねぇww
たかが数行のソースが危険かどうかもわからん奴には発注したくないな
772(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/26(火) 21:25:16.46 AAS
最初の質問者と別人じゃね?レスの書き方から同一人物にも見えるけどw
794: 名無しさん@お腹いっぱい。 [sage] 2018/07/02(月) 14:27:58.46 AAS
>>792宿題かああ。程度が低いな。高校でとかか?
853: 名無しさん@お腹いっぱい。 [sage] 2018/07/05(木) 15:36:04.46 AAS
>>845845(3): 名無しさん@お腹いっぱい。 [sage] 2018/07/04(水) 21:40:52.56 AAS
>>841
sed ':l;N;s/\n//;bl'
とかかな。// を /,/ にすると、1行CSVに出来る。
のMacやBSD向け変種でけた
sed -e :l -e 'N;s/\n//;$p;bl'
907: 名無しさん@お腹いっぱい。 [sage] 2018/07/18(水) 22:33:43.46 AAS
設定してなくてもsshログアウトしてもbgプロセス消えないけど、うちでは
他の設定じゃね
994: 名無しさん@お腹いっぱい。 [sage] 2018/08/02(木) 08:08:24.46 AAS
悪意だろ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.049s