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

回答編集履歴

1

追加

2016/10/03 10:34

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
@@ -42,4 +42,24 @@
42
42
 
43
43
  最終的に$BASE_DIR/$dbname/partition/${tblname}.datと言うファイルが作成される。
44
44
  ${tblname}=$tblname 同じであるが、上記では問題ないが変数の括りでBASHが誤解しない
45
- 様に明示的に指定しています。
45
+ 様に明示的に指定しています。
46
+
47
+
48
+ 余計なお世話かもしてませんが他の不明項目も追加します。
49
+ > . /opt/mapr/mapr_bashrc
50
+
51
+ 外部ファイルを取込実行します。環境変数やfunction等が定義されています。
52
+
53
+ > if [ "`echo $line | grep '^desc formatted'`" != "" ];then
54
+
55
+ 読み込まれた行の先頭が'desc formatted’で始まる行$lineであれば出力が行われ”`echo ...`”
56
+ に値が入るます すると!=""条件がtureとなりthen以降が実行されます。
57
+
58
+ > tblname=`echo $line | awk '{print $3}'`
59
+
60
+ $lineにはフィールドセパレータが空白かタブで文字列が作成されていて、これをawkは$1、$2、$3として
61
+ フィールド処理が行えます。セパレータは-Fにて指定できます。
62
+
63
+ シェルはファイルハンドリングが得意なのでコマンドでデータを抽出してファイルに書き出し、これをまた読込み処理を行う形態で作成されていると思われます。phpでのシェルコマンド実行結果は、ファイルよりも、配列に格納して同様な処理を行うのも良いと思います。
64
+
65
+