我有一系列文件
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脚本吗?
答案 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
,然后您就可以运行了。