次のスクリプトは出力を印刷します。
/var/lib/ambari-server/resources/scripts/configs.sh get localhost c1 yarn-env
スクリプト出力:
"yarn_log_dir_prefix" : "/var/log/hadoop-yarn",
"yarn_pid_dir_prefix" : "/var/run/hadoop-yarn",
"yarn_user" : "yarn",
"yarn_user_nofile_limit" : "32768",
"yarn_user_nproc_limit" : "65536"
パイプライン awk または perl oneline 線形を追加したいと思います。糸環境出力の最初のフィールドには以下が含まれます。 (予想結果)
/var/lib/ambari-server/resources/scripts/configs.sh get localhost c1 yarn-env | awk ...
yarn-env "yarn_log_dir_prefix" : "/var/log/hadoop-yarn",
yarn-env "yarn_pid_dir_prefix" : "/var/run/hadoop-yarn",
yarn-env "yarn_user" : "yarn",
yarn-env "yarn_user_nofile_limit" : "32768",
yarn-env "yarn_user_nproc_limit" : "65536"
答え1
/var/lib/ambari-server/resources/scripts/configs.sh get localhost c1 yarn-env |
awk '{ print "yarn-env", $0 }'
この短いスクリプトは、コマンド入力の各行の前にawk
文字列を追加します。yarn-env
使用される区切り文字はawk
変数OFS
(「出力フィールド区切り文字」、デフォルトでは単一のスペースです)なので、間にタブ文字を追加するには、次のようにします。
/var/lib/ambari-server/resources/scripts/configs.sh get localhost c1 yarn-env |
awk -vOFS="\t" '{ print "yarn-env", $0 }'
または以下を使用してくださいsed
。
/var/lib/ambari-server/resources/scripts/configs.sh get localhost c1 yarn-env |
sed 's/^/yarn-env /'
答え2
Perlを使用してこれを行う1つの方法は次のとおりです。
perl -pe 's/^/yarn_env /'
ご存知のように、TIMTOWTDI。