Linux-based Essential Bioinformatics
Linux生物信息技术基础
2026-05-26更新
课堂练习1 — 表格创建、查看和修改
两类不同格式的表格
-
table1 — 以空格为分隔符的表格
-
table2 — 以制表键(Tab)为分隔符的表格
创建目录和子目录
-
mkdir 1st — 在用户家目录下创建子目录1st
-
cd 1st — 进入1st子目录
-
mkdir table — 在子目录1st下创建二级子目录table
创建、查看table1
-
cat >table1 — 用cat命令生成文本文档,逐行输入下列数据,按Ctrl-D键结束输入
table1
可复制教学服务器公用目录下table1
cp /rd1/leb26/data/table/table1 .
-
cat table1 — 查看文本文档table1的内容
-
cat -n table1 — 查看table1的内容,显示行号(N表示Number)
-
cat -E table1 — 查看table1的内容,显示行终止符"$"(E表示End)
-
cat -nE table1 — 查看table1的内容,同时显示行号和行终止符
创建、查看table2
-
cat >table2 — 用cat命令生成文本文档,逐行输入下列数据,按Ctrl-D键结束输入
table2
可复制教学服务器公用目录下table2
cp /rd1/leb26/data/table/table2 .
-
cat table2 — 查看table2的内容
-
cat -T table2 — 查看table2的内容,用"^I"显示制表键(T表示Tab)
-
cat -A table2 — 查看table2的内容,同时显示制表键"^I"和行终止符"$"(A表示All)
往表格中追加新行、空行并查看
-
cp table1 table1a — 将table1复制到table1a
-
cat >>table1a — 用cat命令往table1a末尾追加第6行数据:Line6 - Sixth line, F,按Ctrl-D键结束输入
-
cat table1a — 查看table1a的内容
table1a
-
cat >>table1a — 用cat命令往table1a末尾追加2个空行,不输入任何数据,按两次回车键,按Ctrl-D键结束输入
-
cat -n table1a — 查看table1a的内容,显示行号和内容,共显示8行,包括末尾两个空行
-
cat -b table1a — 只对非空行编号(b表示Blank line)
复制表格内容、删除空行、排序
-
cat table1 table1a >table1b — 将table和table1a合并,保存到新文件table1b中
-
cat -n table1b — 查看table1b的内容,共13行,包括末尾两个空行
-
head -n 11 table1b — 显示table1b前11行,不显示末尾两个空行
-
head -n 11 table1b > table1c — 将table1b前11行保存到新文件table1c中,不包括末尾两个空行
-
cat -n table1c — 显示table1c内容和行号
-
sort table1c — 显示排序后的table1c内容
-
sort -r table1c — 倒排序table1c内容(r表示Reverse)
-
sort -R table1c — s随机排序table1c内容(R表示Random)
-
sort -u table1c — 显示排序后的table1c内容,相同行只显示一次(u表示Unique)
复制表格内容、删除空行、排序
-
cat table1 table1a — 将table和table1a合并,保存到新文件table1b中
-
cat -n table1b — 查看table1b的内容,共13行,包括末尾两个空行
-
head -n 11 table1b — 显示table1b前11行,不显示末尾两个空行
-
head -n 11 table1b > table1c — 将table1b前11行保存到新文件table1c中,不包括末尾两个空行
-
cat -n table1c — 显示table1c内容和行号
-
sort table1c — 显示排序后的table1c内容
-
sort -r table1c — 倒排序table1c内容(r表示Reverse)
-
sort -R table1c — s随机排序table1c内容(R表示Random)
-
sort -u table1c — 显示排序后的table1c内容,相同行只显示一次(u表示Unique)
表格合并、按列提取
-
paste table1 table2 — 逐行合并并显示table1和table2
-
paste table1 table2 >table3 — 逐行合并table1和table2,保存到新文件table3中
-
cut -f 1 table3 — 提取table3以制表键分隔的第1列内容(f表示Field)
-
cut -f 3-4 table3 — 提取table3以制表键分隔的第3-4列内容
-
cut -d '-' -f 1 table3 — 提取table3中以'-'分隔的第1列内容(d表示Delimiter)
-
cut -c 1-4 table3 — 提取table3中第1-4个字符(c表示Character)
替换表格字符或字段
-
sed 's/Line/LINE/' table3 — 将table3第1列'Line'替换成'LINE'(SED表示Stream Editor)
-
sed 's/Line/LINE/g' table3 — 将table3所有'Line'替换成'LINE'(g表示Global)
-
sed 's/-/\t/' table3 — 将table3'-'号替换成制表分隔符(t表示Tab)
-
sed 's/^/TABLE: /' table3 — 在每行行首添加'TABLE: '(^表示行首)
-
sed 's/$/@stu.pku.edu.cn/' school-number — 在学号后添加邮箱地址($表示行末)