teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

変更

2016/08/04 00:44

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -31,9 +31,9 @@
31
31
  LANG=C、英文字にします
32
32
  dd=(${1})、配列ddへの代入です
33
33
  ls -1r 大きい順に並べます
34
- xargs はcatへのパラメータ渡しです
34
+ xargs はcatへのパラメータ渡しです ”cat file1 file2 file3 ... ”で展開
35
35
  grep の正規表現にて"先頭からとスペースを挟んで数字”のもの
36
- PIPESTATUS、前実行文の[2]で3番目の実行結果を取得します
36
+ PIPESTATUS、前実行文の[2]で3番目の実行結果を取得します 該当日無し
37
- awkで文字の出現回数を求めています。
37
+ awkで文字の出現回数を求めています。 (注)行中に2個有ると2カウントする
38
38
 
39
39
  がんばってください。

6

変更

2016/08/04 00:44

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  ```
25
25
 
26
26
 
27
- 後になりましたが上記の説明です。
27
+ 後になりましたが上記の説明です。
28
28
 
29
29
  $#、パラメータの数です
30
30
  date +"%b %-d"、は月と日(頭0なし)です

5

説明付加

2016/08/04 00:41

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -21,4 +21,19 @@
21
21
  echo "error:failure:Failed"
22
22
  cat /var/log/messages* |grep -e "${dd[0]}[ ]*${dd[1]}" |awk '/error/{a++}/failure/{b++}/Failed/{c++}END{printf("%d: %d: %d\n",a,b,c)}'
23
23
 
24
- ```
24
+ ```
25
+
26
+
27
+ 後になりましたが上記のご説明です。
28
+
29
+ $#、パラメータの数です
30
+ date +"%b %-d"、は月と日(頭0なし)です
31
+ LANG=C、英文字にします
32
+ dd=(${1})、配列ddへの代入です
33
+ ls -1r 大きい順に並べます
34
+ xargs はcatへのパラメータ渡しです
35
+ grep の正規表現にて"先頭からとスペースを挟んで数字”のもの
36
+ PIPESTATUS、前実行文の[2]で3番目の実行結果を取得します
37
+ awkで文字の出現回数を求めています。
38
+
39
+ がんばってください。

4

先頭文字

2016/08/03 09:51

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  dd=(${1})
13
13
  fi
14
14
 
15
- ls -1r /var/log/messages* |xargs cat |grep -e "${dd[0]}[ ]*${dd[1]}"
15
+ ls -1r /var/log/messages* |xargs cat |grep -e "^${dd[0]}[ ]*${dd[1]}"
16
16
 
17
17
  if [ ${PIPESTATUS[2]} -ne 0 ]; then
18
18
  echo "${dd[@]} No data found"

3

変更

2016/08/03 09:28

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -15,7 +15,7 @@
15
15
  ls -1r /var/log/messages* |xargs cat |grep -e "${dd[0]}[ ]*${dd[1]}"
16
16
 
17
17
  if [ ${PIPESTATUS[2]} -ne 0 ]; then
18
- echo "${dd} No data found"
18
+ echo "${dd[@]} No data found"
19
19
  exit
20
20
  fi
21
21
  echo "error:failure:Failed"

2

環境対応

2016/08/03 09:25

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  echo "paramater error"
8
8
  exit
9
9
  elif [ $# -eq 0 ]; then
10
- dd=($(date +"%b %-d"))
10
+ dd=($(LANG=C;date +"%b %-d"))
11
11
  else
12
12
  dd=(${1})
13
13
  fi

1

変更

2016/08/03 09:24

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  ```bash
4
4
  #!/bin/sh
5
5
 
6
- if [ $# -gt 2 ]; then
6
+ if [ $# -ge 2 ]; then
7
7
  echo "paramater error"
8
8
  exit
9
9
  elif [ $# -eq 0 ]; then