스 크 립 트 처리 빅 데이터 파일
3249 단어 shell
#! /bin/ksh
if [ $# != 1 ]
then
echo "FORMAT: cutfile.sh inputfile !"
exit 1;
fi
filename=$1
head -n 1 $filename > .filehead.txt
tail -n +2 $filename > .filebody.txt
cut -c1-44 .filebody.txt > .fileblock_1
cut -c45-52 .filebody.txt > fileblock_2_gmt_date.txt # gmt_date
cut -c53-68 .filebody.txt > .fileblock_3
cut -c69-76 .filebody.txt > fileblock_4_local_date.txt # local_date
cut -c77-82 .filebody.txt > .fileblock_5
cut -c83-90 .filebody.txt > fileblock_6_settlement_date.txt # settlement_date
cut -c91-98 .filebody.txt > fileblock_7_capture_date.txt # capture_date
cut -c99-294 .filebody.txt > .fileblock_8
cut -c295-302 .filebody.txt > fileblock_9_orig_date.txt # orig_date
cut -c303- .filebody.txt > .fileblock_10
touch .CUT.OK
2. 분 리 된 오류 파일 을 집계 하여 오류 횟수 유 니 버 설 파일. sh 찾기
#! /bin/ksh
if [ $# != 1 ]
then
echo "FORMAT: nuiqfile.sh inputfile !"
exit 1;
fi
filename=$1
cat $filename | sort | uniq -c
3. 오류 분할 파일 교체 작업
#! /bin/ksh
if [ $# != 3 ]
then
echo "FORMAT: sedfile.sh filename replacebefore replaceafter!"
exit 1;
fi
if [ ! -f .CUT.OK ];then
echo "please cut file,first!"
exit 0
fi
filename=$1
repstr1=$2
repstr2=$3
sed "s/${repstr1}/${repstr2}/" $filename > .sedtmpfile
rm -f $filename
mv .sedtmpfile $filename
4. 처 리 된 파일 을 병합 하여 올 바른 파일 을 생 성 합 니 다.
#! /bin/ksh
if [ $# != 1 ]
then
echo "FORMAT: pastefile.sh inputfile !"
exit 1;
fi
if [ ! -f .CUT.OK ];then
echo "please cut file,first!"
exit 0
fi
filename=$1
# \t, paste @, grep " " filename | wc -l
#paste -d @ .fileblock_1 \
paste .fileblock_1 \
fileblock_2_gmt_date.txt \
.fileblock_3 \
fileblock_4_local_date.txt \
.fileblock_5 \
fileblock_6_settlement_date.txt \
fileblock_7_capture_date.txt \
.fileblock_8 \
fileblock_9_orig_date.txt \
.fileblock_10 > .filebodytmp.txt
#sed -e 's/@//g' .filebodytmp.txt > .filenewbody.txt
sed -e 's/ //g' .filebodytmp.txt > .filenewbody.txt
cat .filehead.txt .filenewbody.txt > ${filename}.new
rm -f .fileblock_1 \
fileblock_2_gmt_date.txt \
.fileblock_3 \
fileblock_4_local_date.txt \
.fileblock_5 \
fileblock_6_settlement_date.txt \
fileblock_7_capture_date.txt \
.fileblock_8 \
fileblock_9_orig_date.txt \
.fileblock_10
rm -f .filehead.txt .filebody.txt .filenewbody.txt .filebodytmp.txt .CUT.OK
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.