我有在如下YAML文件數據:如何根據傳遞給腳本的值在腳本中打印內容?
report_id:youtube
columns:
- date
- channel_id
- video_id
- claimed_status
- uploader_type
- live_or_on_demand
- subscribed_status
report_id:device
columns:
- date
- views
- comments
- shares
- channel_id
- watch_time_minutes
並且許多這樣的report_ids和它的本列信息。
我已經編寫了一個腳本,根據在shell腳本中傳遞的report_id將列寫入另一個輸出文件。下面是一個例子:
copy_fields()
{
report_id=`cat $FILE | grep 'report_id: device' | awk '{print $NF}'`
echo "copy $report_id" > $OUTPUT
echo "(" >> $OUTPUT
for i in `cat $FILE | grep - | awk '{print $NF}'`
do
echo $i
echo $i >> $OUTPUT
done
echo ")" >> $OUTPUT
}
copy_fields
上面列應該只寫設備信息到文件「輸出」,但它寫的所有數據到「輸出」文件類似如下:
- date
- channel_id
- video_id
- claimed_status
- uploader_type
- live_or_on_demand
- subscribed_status
- date
- views
- comments
- shares
- channel_id
- watch_time_minutes
腳本應該寫上REPORT_ID基礎數據到「輸出」文件中傳遞,如果設備通過它應該寫爲「輸出」,如下:
- date
- views
- comments
- shares
- channel_id
- watch_time_minutes.
請HEL在此我可以得到確切的代碼。我需要編寫一個shell腳本,通過傳遞report_id從yaml文件中讀取數據,並能夠使用report_id的列將該數據寫入另一個輸出文件。
顯示輸出應如何顯示的示例。 – 123
如果REPORT_ID是設備,然後輸出應該如下: - 最新 - 觀點 - 評論 - 股 - CHANNEL_ID - watch_time_minutes 如果REPORT_ID是YouTube的輸出數據應該考慮: 日期 - CHANNEL_ID - VIDEO_ID - claims_status - uploader_type - live_or_on_demand - subscribed_status – sneha
'awk'/ report_id:device/{x = 1} x &&/^ * - /'file'? – 123