linux ubuntuWindows win10 文件读写、统计分析处理命令 (wccatsedheadtailsplit)

it2024-03-25  76

文章目录

增sedecho 删sed 改、文件分割与合并sedcat / split 查wccathead / tailfind

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

# 如果是匹配 [行首] ,则需要加 ^ 。如删除行首出现的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 # 删除每行 以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 # 将一个大文件分割成多个小文件,这里是按行数分割。https://blog.csdn.net/lkforce/article/details/71547313 $ split -l 322160 train.lst

wc

# 统计 行数 字节数 字数 $ wc -lcw file.txt # 查看文件前几行和后几行

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

find

# 统计包含某个字符的行数 $ find test.txt | xargs cat | grep "abc" |wc -l

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

最新回复(0)