文章目錄
簡介
使用Linux命令:sed、grep、zip、unzip進行控制Excel表格進行插入操作的整理記錄
準備
- 一份學生學號文件
- 一份關於學生的Excel文件
過程
將xlsx文件更改成zip文件,並解壓至unziptable目錄下
unzip 命令 -d<目錄> 指定文件解壓縮後所要存儲的目錄。
[root@dst excel2]# mv table.xlsx table.zip
[root@dst excel2]# unzip table.zip -d unziptable
通過Excel表格中已有的學生姓名匹配出xuehao.txt文件中的學生學號,並插入至Excel表格中
Excel表格中學生所在的單元格
#1.查找學生姓名
grep Sheet1.B................. unziptable/* -R -o |
#2.進行清洗
sed 's/.*f><v>//g' |
sed 's/<.*//g' |
#3.將查詢到的學生姓名通過數據參數管道,每一個都添加至學號文件的開頭
xargs -i sed 's/^/{}yyy/g' xuehao.txt |
#4.通過grep劃分區域,匹配出現兩次的姓名區域,即可匹配出我們需要學生的學號信息
grep '^\(.*\)yyy.*\1' |
#5. 再次進行清洗
sed 's/.*yyy//g' |
sed 's/ .*//g' |
#進行開頭標記,表示修改成功
sed 's/^/dst/g' |
#6.進行插入至excel表格中
xargs -i sed 's/<v>94</<v>{}</1' unziptable/xl/worksheets/sheet3.xml -i
- 查找學生姓名
- 進行清洗
- 將查詢到的學生姓名通過數據參數管道,每一個都添加至學號文件的開頭
- 通過grep劃分區域,匹配出現兩次的姓名區域,即可匹配出我們需要學生的學號信息
- 再次進行清洗
將所有解壓的內容壓縮
[root@dst excel2]# zip table2.zip -r unziptable/*
將壓縮的table2.zip 更改爲xlsx文件
mv table2.zip table2.xlsx