初识 linux shell —— 批量处理数据文件

初识 linux shell——批量处理数据文件

因为要处理实验数据,今天尝试了一下linux shell脚本。

文件格式

文件头有三种,表示三种不同的解释器,具体的区别可以看参考,一般情况下选#!/bin/bash就可以了

#!/bin/bash
#!/bin/sh
#!/bin/dash

批量处理数据文件

我的目的是批量的读取存在文件夹target_dir中的文件,处理后输出一个同名但是格式不同的文件。首先要实现的是遍历对应目录中的文件:提取文件名和目录名

#!/bin/bash
for file in `ls target_dir` #注意这里不是单引号
do
  echo $file      #文件名带类型
  echo ${file%/*} #文件名不带类型
done

然后,就是实现赋值(这对我这样的新手来说是个大坑)Shell变量赋值失败和引用不成功的原因(入门类)

#!/bin/bash
resType='.txt'       #赋值失败建议看看参考链接
for file in `ls target_dir` #注意这里不是单引号
do
  echo $file       #文件名带类型
  echo ${file%/*}  #文件名不带类型
  echo ${file%/*}$resType #结果文件名

  A="target_dir/$file"  #又是赋值,注意格式
  B="target_dir/${file%/*}$resType"
  ./dataprocess A B #./dataprocess是我写的数据处理程序
done
posted @ 2021-03-13 13:48  秦星二  阅读(930)  评论(0编辑  收藏  举报