次の状況について誰でも私を助けることができますか?次のデータを含む参照ファイルがあります。
file_id|file_name
1|file1.txt
2|file2.txt
3|file3.txt
入力をfile_idとして受け入れ、2番目の列を取得するスクリプトがあります。
file_id=$1
header=$(awk -v a=$file_id -F '~' "$1==a {print $2}" \
/test/data/shared/dev/SrcFiles/datawarehouse/poc/file_ref_master.txt)
これにより、ファイル名の代わりに空の値が提供されます。
出力:
vi file_lookup_poc.sh
$ sh -x file_lookup_poc.sh 1
file_id=1
++ awk -v a=$file_id -F '~' '$1==a {print $7}' /test/data/infa_shared/dev/poc/file_ref_master.txt
header=
echo
答え1
スクリプト
#!/bin/bash
m=$1
awk -F "|" -v m="$m" '$1 == m{print $2}' filename
出力
sh script.sh 1
file1.txt
sh script.sh 2
file2.txt
sh script.sh 3
file3.txt