- 打乱一个文件的所有行
shuf filename1 -o filename2 # 按行打乱filename1文件并且将打乱后的文件保存为filename2
2. 在文件中插入内容
sed -3 "Hello World" filename.txt # 在文件的第3行插入 Hello World
Hello World >> filename.txt # 在文件的末尾插入 Hello World
3. 统计文件中特殊字符的所在行
awk '/特殊字符/{print NR}' filename # 统计某个特殊字符在文件中的第几行
4. 统计某个特殊字符存在的行数
grep -c '特殊字符' filename
或者
awk '/特殊字符/{print NR}' filename | wc -l
5. 统计文件中每一行包含特殊字符的数量
cat filename.txt | awk -F"特殊字符" '{print NF}'
6. 逐行读取某个文件并打印出来
cat filename | while read line
do
echo "$line"
done
7. 逐行读取filename1,并在filename2.txt中查找filename1中每一行的内容
cat filename1 | while read line
do
grep "$line" filename2.txt
done
8. 将一个文件按行或按文件大小分割成多个文件
split -l 10000 filename1 -d -a 3 filename2 # 将filename1按行分割,每10000行形成一个文件保存在以filename2为前缀的文件中
split -b 500m filename1 filename2 # 将filename1按文件大小分割,每500M保存在以filename2为前缀的文件中
9. 对文件按行聚合
sort filename.txt | uniq -c | sort -k 1 -n -r # 对文件按行进行聚合,并输出相同行的数量
10. 使用特殊字符分割行
awk -F"特殊字符" '{print $1}' # 输出对每行按特殊字符分割后的第一列,类似于pandas.read_csv()的sep参数
或者
cat filename.txt|awk -F"|" '{print $1}'
cat filename.txt|awk -F"|" '{if (lenght($1)>3) print$1}' # 分割后对输出加判断,输出大于3的部分
11. 创建一个空文件
touch filename
12. 文件拷贝
cp finame1 filename2
13. 文件移动
remove filename1 filename2
14. 文件移动
cat filename1 filename2 > filename3
持续更新哦......