使用UNIX Shell Script使用其他文件的参数创建文件

时间:2014-02-26 05:30:53

标签: shell unix

我有一系列文件

484_mexico_201401.dat
484_mexico_201402.dat
484_mexico_201403.dat

......等等

我想制作文件

484_mexico_201401.mft下面会包含

484 | 数据文件名称 | .dat文件的行数

示例:

484|484_mexico_201401.dat|6000 

任何人都可以帮助使用shell脚本吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试bash

for file in 484_*
do 
   new_file=${file%.*}; 
   echo "$(sed 's/^\([^_]\+\)_.*/\1/'<<<$file)|$file|$(wc -l $file|cut -d' ' -f1)" > "$new_file.mft"; 
done

答案 1 :(得分:0)

你也可以试试这个。

location="./";for file in $(ls $location);do echo "$(echo $file|cut -d '_' -f 1)|$file|$(wc -l $file | cut -d ' ' -f 1)" >> output.txt;done

然后你就可以阅读新文件了解输入cat output.txt

如果你想要完整的脚本,那么你可能需要将#!/ bin / bash添加到脚本的第一行。

#!/bin/bash
location="./";for file in $(ls $location);do echo "$(echo $file|cut -d '_' -f 1)|$file|$(wc -l $file | cut -d ' ' -f 1)" >> output.txt;done

将其保存到您希望脚本运行的文件中chmod 555 scriptname.sh,然后您就可以运行了。