n

1以下のシェルスクリプトの出力と動作を説明しなさい。 シェルスクリプトの変数に着目しなさい。

!/bin/sh

a=”hello” b=”ohayou” echo $a”と”$b  *nanoとsh xxx.sh を使ってシェルスクリプトを書きながら行ってみてください。

aにhelloを入れbにohayouを入れるechoで helloとohayouと出力される

!/bin/sh shで実行する #!/bin/Python ならパイソンで実行する

2以下のシェルスクリプトはエラーがでます。原因を説明しなさい。 #!/bin/sh            a=”hello” b=”ohayou” echo a”と”b aとbの前に$がないから

3シェルスクリプトのforループをつかって以下を出力する、スクリプトを作ってください。        tanuki1        tanuki2        tanuki3         tanuki4        tanuki5      ヒント:   for i in 1 2 3 4 5;do           ここに何か書く。       done

i/bin/sh

for i in {1..5} do echo tanuki$i done

43のスクリプトを改良して、   tanuki_usi   /home/あなたのディレクトリ  ← *pwd を使う       tanuki_kuma   /home/あなたのディレクトリ       tanuki_desu  /home/あなたのディレクトリ 

5以下のスクリプトの出力と意味を 「コマンド」の意味に注意して説明。   #!/bin/sh   v=ls        f=pwd        echo “test”        echo $v       echo $f vにlsをfにpwdを入れる  単一符で囲むことでコマンドを実行結果をvとfにそれぞれ保存する ”test“と出力 echo $v でlsの結果を、echo $fでpwdの結果を出力する

6コマンドライン引数とbash のif文に着目して、
  sh test1.sh tanuki と入力したら、そのフォルダのフォルダの内容(ls)を出力し、  sh test1.sh neko と入力したら、 「にゃー」と出力するスクリプトを作って。

6改定 コマンドライン引数に着目して、
  sh test1.sh tanuki neko とコマンド入力したら、 tanukiとnekoと牛   sh test1.sh uma kuma とコマンド入力したら、 umaとkumaと牛 と表示するスクリプトを書いてください。

!/bin/sh

echo "$1"'と'"$2"'と牛'

today

(1)正規表現「.」の意味を説明してください。 なんでも1文字 (2)正規表現  ドラ.もん にマッチする文字列を例を2つ書いてください。 ドラえもん ドラあもん (3)正規表現」の意味を説明してください。 直前の文字が1個以上連続する (4)正規表現  「すも 」 にマッチする文字列の例を2つ書いてください すもも すもももも (5)正規表現 の組み合わせ 「.」 の意味となぜそうなるかの理屈を説明してください。 なんでも1文字が繰り返される .でなんでも1文字 で直前の文字が繰り返されるから (6)正規表現   「 a.@gmail.com」 にマッチする文字列を3つ書いてください。 abbb@gmail.com accccc@gmail.com adc@gmail.com (7)正規表現「^」 の意味を説明してください。 行の先頭に存在する文字列を検索する (8)正規表現 「$」の意味を説明してください。 行の終わりに存在する文字列を検索する (9) grep正規表現を使って、「ドラミちゃん」とのみ書かれた行とその前後5行をtest.txtから抽出するコマンドを書いてください。 ヒント:「ドラミちゃん」とのみ書かれた行→「行頭ドラミちゃん行末」 前後5行はC grep -C 5 ^ドラミちゃん$ (10) grep正規表現を使って、「bで始まるgmail.com」のメールアドレスを含む行をaddress.txtから抽出して、gmail.txtに保存するコマンドを書いてください。 grep b.@gmail.co address.txt >gmail.txt (11) 正規表現「|」と「[abc]」の意味を理解し、「[abc]|[1-9]tanuki@gmail.com」にマッチする文字列の例を1つ書いてください。 a1tanuki@gmail.com btanuki@gmail. c8tanuki@gmail.co

nanoに

for i in {1..10} do wget https://minhyo.jp/yoshinoya?page=$i sleep 10 cat yoshinoya?page=$i | grep -C 100 'class="data"' | sed -n '/user/,/box_reference/p' | sed -e 's/<[^>]*>//g' | sed 's/[[:space:]\n]//g' |sed '/^$/d' done

を入れて  cmod +x yoshino.sh ./yoshino.sh でできた

できそう?

cat yoshinoya?page=10 | grep -C 100 'class="data"' | sed -n '/user/,/box_reference/p' | sed -e 's/<[^>]*>//g' | sed 's/[[:space:]\n]//g' |sed '/^$/d'

れんこんさん レギュラー会員 投稿日:2021.08.25 4.00 料金 5.00 味 5.00 接客 4.00 スピード 5.00 夜中だったのにありがとう 夜中の2時くらいに、赤羽の店舗に行きました。 その時はそんな時間にもかかわらず、5つのお弁当を注文。しかもみんなばらばらの種類のやつです。 しかし店員さんはそれこそ笑顔はないものの、しっかりてきぱきと作ってくれました。早かったですし、ちゃんとおいしかったです。

こんな感じで出力できた

今日

mkdir yoshinoya nano kutikomi.sh

中身 for i in {1..10} do wget https://minhyo.jp/yoshinoya?page=$i sleep 10 done

chmod +x kutikomi.sh 権限を与える ./kutikomi.sh データを取ることができた

cat yoshinoya?page=10 | grep -A 5 'class="review-cont"' | sed html内のclassがreview-cont の内容を取り出す 結果コメント部分のみが取り出せた

cat yoshinoya?page=10 | grep -A 5 'class="data"' | sed 名前部分が取り出せた

curl -s https://ameblo.jp/obihirozoo/entry-12607568064.html | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*.jpg" | xargs -n 1 curl -O -s -J たぬき取り出せた

curl -O https://ameblo.jp/obihirozoo/entry-12607568064.html | grep -o -E "https?://[^\"]+.jpg" page.html | wget -i <(grep -o -E "https?://[^\"]+.jpg" page.html)』

wget -r -l1 -nd -H -D https://ameblo.jp/obihirozoo/entry-12607568064.html -qO- https://https://ameblo.jp/obihirozoo/entry-12607568064.html/ | grep -Eo 'https?://[^[:space:]]+.jpg|https?://[^[:space:]]+.png|https?://[^[:space:]]+.gif'』 できなかった奴ら

D1はコメントページ全体を1ページ目2ページ目3ページ目と順に取り出す D2はその中でもコメントの内容や投稿日点数を取り出す