文章目录
- 增
-
- sed
- echo
- 删
-
- sed
- 改、文件分割与合并
-
- sed
- cat / split
- 查
-
- wc
- grep
- cat
- head / tail
- find
- less
增
sed
# 在文件所有行前面加字符:"images/"
# https://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html
$ sed "s/^/images\/&/g" list1.txt # 看看效果,注意 & 是紧跟在你要在每行前面添加的字符后面的,中间没有分隔符
$ sed -i "s/^/images\/&/g" list1.txt # 直接修改原文件(最好先备份)
# 其他:在windows环境下,在每行前面加 D:/user1/mega/: sed -i "s/^/D:\/user1\/mega\/&/g" list1.txt
# 在linux环境下,在每行前面加/home/user1/ :sed "s#^#\/home\/user1\/&#g" list1.txt
# 在所有行的行尾加上字符abc
$ sed 's#$#&abc#g' list1.txt
echo
# 在文件尾部插入行
$ echo "xxxx" >> test.txt
删
sed
[sed -i
表示立即生效,会修改原始数据。建议操作之前先备份。或者先使用sed
看效果,再使用sed -i
]
# 显示以xxx开头的行:如果是匹配 [行首] ,则需要加 ^ 。如删除行首出现的find
$ sed 's/^find//' list1.txt# 删除每一行第1个到第4个字符
$ sed -r 's/.{4}//' list1.txt
# 替换反斜杠(\)用 \\ 替换斜杠(/)用 \/ 如上面的第一个例子 "images/",此时分隔符最好使用 # 或 :# 删除所有行中行首出现abc\ (去掉^ 就是删除 [第一个] 匹配到的abc\),注意不是删除匹配到的行,只是删除行首的指定字符串!!
$ sed 's#^abc\\##' list1.txt
$ sed 's:^abc\\::' list1.txt # 删除所有包含 /xxx 的行
$ sed -i '/\/xxx/d' test.txt# 删除以 abc 开头的所有行
$ sed -i '/^abc.*/d' test.txt# 删除所有行中 以abc开始的子字符串(abc和abc之后的都删掉)
$ sed 's/abc.*//' list1.txt# 删除文件前100行
$ sed -i '1,100d' test.txt# 删除文件的第4行到最后一行
$ sed -i '4,$d' 1.txt
改、文件分割与合并
sed
# 将文件所有行中 [包含] 的 [第一个] ‘find’替换成‘replace’。https://segmentfault.com/a/1190000020613397
$ sed 's/find/replace/' list1.txt
# 将文件所有行中 [包含] 的 [所有] 'find' 替换成 'replace',在后面加g,grep的意思
$ sed 's/find/replace/g' list1.txt
cat / split
文件分割与合并
# 将两个文件按顺序拼接,以三个为例,更多的以此类推
$ cat 1.txt 2.txt 3.txt > 123.txt
# 将一个大文件分割成 newName开头命名的 多个小文件,这里是按行数分割。https://blog.csdn.net/lkforce/article/details/71547313
$ split -l 322160 train.lst newName
查
wc
# 统计 行数 字节数 字数
$ wc -lcw file.txt
# 查看文件前几行和后几行
grep
# 统计文件中某个字符串出现的次数(不区分单行、多行)
$ grep -o "xxx" 123.txt | wc -l
cat
文件查看
# 查看从第100行开始的后三行(100 101 102)
$ cat test.txt | tail -n +100 | head -n 3
head / tail
$ head -n 10 /etc/profile
$ tail -n 5 /etc/profile
# 刷新显示文件最后几行
$ tail -f abc.txt
find
# 统计包含某个字符的行数
$ find test.txt | xargs cat | grep "abc" |wc -l
less
如何查看大文件中的指定行:通过 grep -n 'abc'
定位内容abc所在的行号,然后通过less打开指定的行
# 打开文件的第12345行,并支持上下滚动查看
$ less +12345g big_txt.log
其他查找:linux ubuntu 查找文件、文件夹、包含指定内容的文件 grep / locate / find
wiin10
# 统计文件行数
>type file_name.txt | find /v /c ""
# 查看文件后3行。tail.ext下载:http://files.cnblogs.com/hantianwei/tail.zip
>tail -3 file_name.txt
鸣谢!
https://segmentfault.com/a/1190000020613397