命令

用cat 拼接

cat命令能够显示拼接文件内容
cat命令常规的操作方法

cat file1 file2
root@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ echo This is from one.txt > one.txt
root@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ echo This is from two.txt > two.txt
root@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ cat one.txt two.txt 
This is from one.txt
This is from two.txt

cat命令不仅可以读取文件,拼接数据,还可以从标准输入中读取

echo 'Text through stdin' | cat - file.txt
Text through stdin
This is a line inside file.txt
This is the second line inside file.txt

临时文件命名与随机数

shell脚本经常需要存储临时数据,最适合存储数据的位置实/tmp(系统重启后会清空)
mktemp可以为临时文件或者目录创建唯一的名字

  1. 创建临时文件
(base) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ filename=`mktemp`
(base) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ echo $filename
/tmp/tmp.jiKnNGk22S
  1. 创建临时目录
(base) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ dirname=`mktemp -d`
(base) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ echo $dirname
/tmp/tmp.igBk5AmTMp

分割文件与数据

有时候需要把文件分割成多个更小的片段
split用来分隔文件

split -b 10k data.file

根据扩展名切分文件

%可以从name.extension这种格式中提取name部分

(learn_sh) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ file_jpg='sample.jpg'
(learn_sh) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ name=${file_jpg%.*} 
(learn_sh) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ echo File name is: $name
File name is: sample

而操作符#相反可以取出扩展名

(learn_sh) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ extension=${file_jpg#*.}
(learn_sh) admin@iZ2zei59vocobndhxpsko9Z:~/learn_sh$ echo Extension is: $extension
Extension is: jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容