ff_rms_mark_head_gp_20221019569987.dat.gz
ff_rms_sharp_head_20221019569987_full.dat.gz
여기에는 두 가지 유형의 파일이 있습니다. 하나는 full
, 다른 하나는 gp
, 이것이 차이점입니다. 그러나 이 경우 다음 세부 정보를 얻으려면 cut 명령을 사용해야 합니다.
....
출력: `` Table_Name은 다음과 같아야 합니다: "첫 번째 파일의 mark_head
두 번째 테이블은 "sharp_head"여야 합니다.
"두 테이블의 차이점은 "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
.