ff_rms_mark_head_gp_20221019569987.dat.gz
ff_rms_sharp_head_20221019569987_full.dat.gz
これには2種類のファイルがあります。一つはfull
、もう一つはgp
、これが違いです。ただし、この場合、次の詳細を取得するにはcutコマンドを使用する必要があります。
....
出力: `` Table_Nameは次のようになります。「最初のファイルのmark_head
2番目のテーブルは「sharp_head」でなければなりません。
「2つのテーブルの違いは「gp」と「full」です。
日付:2022年10月19日
`Table Name` would start from `rms_` till `gp` but if there is no `gp` then till `date`)
The date would be with the following format:
```python
date=2022-10-19
答え1
これはあなたが望むものですか?
*があるディレクトリにあることを確認してください。.gz ファイルこのスクリプトを実行する前に:
#!/bin/bash
for file in ./*.gz; do
echo -e "=========================================="
echo Current file "$file"
fhead=$(cut -d '_' -f3,4 <<< "$file")
sixthCol=$(cut -d '_' -f6 <<< "$file")
if [[ ${sixthCol%%.*} = "full" ]];then
#Table name till date
fdate=$(cut -d '_' -f5 <<< "$file" | awk -v FS='' -v OFS='-' '{print $1$2$3$4,$5$6,$7$8}')
tableName="$(cut -d '_' -f2-4 <<< "$file")_${fdate}"
else
#Table name till gp
fdate=$(cut -d '_' -f6 <<< "$file" | awk -v FS='' -v OFS='-' '{print $1$2$3$4,$5$6,$7$8}')
tableName=$(cut -d '_' -f2-5 <<< "$file")
fi
echo Table_Name: $tableName
echo Head: $fhead
echo Date: $fdate
echo -e "==========================================\n\n"
done
次のファイルがあるとします。
ff_rms_mark_head_gp_20221019569987.dat.gz
ff_rms_sharp_head_20221019569987_full.dat.gz
上記のスクリプトを実行すると、次のような結果が出力されます。
==========================================
Current file ./ff_rms_mark_head_gp_20221019569987.dat.gz
Table_Name: rms_mark_head_gp
Head: mark_head
Date: 2022-10-19
==========================================
==========================================
Current file ./ff_rms_sharp_head_20221019569987_full.dat.gz
Table_Name: rms_sharp_head_2022-10-19
Head: sharp_head
Date: 2022-10-19
==========================================
おそらくHead
重要ではないでしょう(Date
おそらくそれでもそうです)。他の特定の結果が必要な場合は、実際に必要な内容の詳細を提供する必要があります。
スクリプトに関して、すべての数の場合に機能します。.gz ファイル(どちらか一つgp
)full
。