1. 解压
1.1 tar 和 gz 文件
如果你有一个 .tar
文件,你可以使用以下命令来解压:
tar -xvf your_file.tar
在这个命令中,-x
表示解压缩,-v
表示详细输出(可选),-f
后面跟着要解压的文件名。
如果你的 .tar
文件同时被 gzip 压缩了(即 .tar.gz
文件),你可以使用以下命令来解压缩:
tar -xzvf your_file.tar.gz
在这个命令中,-z
表示使用 gzip 解压缩。
2. 文档查看
2.1 查看内容
常用查看命令
要查看文档的结构,使用 head
和 tail
命令来查看文档的开头和结尾的几行,以获取一些关于文档内容的基本信息。例如:
head your_document.txt # 查看文档的前几行
tail your_document.txt # 查看文档的最后几行
查看文档的整个内容,使用 cat
命令将其打印到终端上:
cat your_document.txt
或者使用 less
命令来逐页查看整个文档:
less your_document.txt
查看前两行 – head
要查看文档的前两行,使用 head
命令并指定 -n
选项来显示指定行数。以下是示例命令:
head -n 2 your_document.txt
这将显示文档 your_document.txt
的前两行内容。
前两行前三列
head -n 2 your_document.txt | awk '{print $1, $2, $3}'
前两行和后三列
head -n 2 your_document.txt | awk '{print $NF, $(NF-1), $(NF-2)}'
查看后两行 – tail
tail -n 2 your_document.txt
前三行前三列
tail -n 2 your_document.txt | awk '{print $1, $2, $3}'
前三行后三列
tail -n 3 your_document.txt | awk '{print $NF, $(NF-1), $(NF-2)}'
-
使用
tail
和awk
命令提取后三列数据:
由于head
命令默认显示文件的前10行,而你想要获取的是后三列数据,你需要使用tail
命令来获取文件的最后一行,然后使用awk
来提取该行的后三列数据。例如:tail -n 1 your_document.csv | awk '{print $NF, $(NF-1), $(NF-2)}'
在这个命令中:
tail -n 1
用于获取文件的最后一行。awk '{print $NF, $(NF-1), $(NF-2)}'
用于打印当前行的最后三个字段。$NF
是awk
中的一个内置变量,表示当前行的最后一个字段。
awk
默认使用空白字符(包括空格、制表符、换行符等)作为字段分隔符。在awk
中,字段是通过一个或多个连续的空白字符分隔开的。字段用$
符号来引用,其中$1
表示第一字段,$2
表示第二字段,以此类推。
请注意,上述命令假设 .csv
文件使用逗号作为字段分隔符,并且每行的字段数量足够多,以便能够提取到最后三个字段。如果 .csv
文件的字段分隔符不是逗号,你需要相应地调整 awk
命令中的分隔符。例如,如果字段分隔符是制表符(\t
),你可以使用 gawk -F'\t'
来指定字段分隔符:
tail -n 1 cd8selectMatrix.csv | gawk -F'\t' '{print $NF, $(NF-1), $(NF-2)}'
经过测试,发现txt文档本身就是’\t’分割的。
每一行多少列
要确定每一行有多少列,使用 awk
命令来统计每行的字段数量。以下是一个示例命令:
awk '{print NF; exit}' your_document.txt
这个命令会打印出第一行的字段数量,然后退出。字段数量即为列数。
多少行
使用 wc
命令来统计文件的行数。以下是一个示例命令:
wc -l your_document.txt
这个命令将打印出文档 your_document.txt
中的行数。
2.2 截取demo样本
截取部分数据生成到新样本 – head
要生成一个包含文档前三行数据的新样本文件,你可以使用 head
命令将这三行数据复制到一个新文件中。以下是一个示例命令:
head -n 3 your_document.txt > new_sample.txt
这个命令将文档 your_document.txt
中的前三行数据复制到一个名为 new_sample.txt
的新文件中。新文件 new_sample.txt
将包含原始文档中的前三行数据。
截取数据 – awd
提取后三列后三行数据存到新文件
awk '{if (NR > 1 && NR <= 4) print $NF, $(NF-1), $(NF-2)}' your_document.txt > output.txt
提取后三列前三行数据存到新文件
- 保留标题行
awk 'NR==1 || (NR>1 && NR<=4) {print $NF, $(NF-1), $(NF-2)}' your_document.txt > output.txt
- 不保留标题行
awk 'NR > 1 && NR <= 4 {print $NF, $(NF-1), $(NF-2)}' your_document.txt > output.txt