在shell中进行文件操作时,我们很多时候想对文件名进行截取,例如去掉文件名的后缀,而只保留剩余的部分。下面介绍使用 ${} 来完成上述任务。
我们想对 share/home/jianshu_test.txt 进行操作,输出下列内容:
要完成这个任务,可以首先把 jianshu_test.txt 提取出来:
然后再进行截取:
记住两个原则:
此外:
B. linux 如何将一个大文件分成几个小文件
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
C. linux split命令详解
split命令是linux下的一个文件管理命令,它主要有一个功能,具体介绍如下:
split命令能够将大文件分割成较小的文件,并且在默认情况下会按照每1000行切割成一个小文件。
split命令的具体语法格式为split [参数] [切割文件][文件名]。
参数:
-b 指定每多少字节切成一个小文件
--help 查看帮助信息
--version 显示版本信息
-C 与参数”-b”相似,但是在切 割时将尽量维持每行的完整
D. linux下使用split命令分割文件且文件号从001开始
想直接生成文件,只能修改源码,然后编译
也可以生成文件以后写个脚本,把文件名全部改一遍
E. linux for循环 带空格的文件名
for循环在读入的时候是从一个大字符串中进行分割,而分割的标识是IFS,IFS默认分隔符是空格\tab\换行,所以会将换行符和空格同样对待,所以需要更改IFS的分割标志.
解决方案:添加代码
OLDIFS=$IFS
IFS=$'\n'
IFS=$OLDIFS123
注意: 这里将IFS的分割标志换成了 $’\n’ 换行符,如果写成’\n’仅仅表示字母n 《Linux就该这么学》一起学习linux
结果: 每一次for循环能够得到正确的文件名,但是在执行mv命令时依然报错,原因是文件名中有空格,不能找到正确的文件