我有几个文件包含具有唯一子字符串的行NAME-:
<input type="hidden" name="NAME-00B5JZ" value="350.378,00">
<input type="hidden" name="NAME-0599" value="0,00">
<input type="hidden" name="NAME-7012" value="0,00">
<input type="hidden" name="NAME-0096" value="0,00">
<input type="hidden" name="NAME-0433" value="0,00">
<input type="hidden" name="NAME-1100" value="0,00">
name和valuehtml 标签道具总是不同的。
我需要将制表符分隔的值放入单独的文件中,其名称与原始文件相对应。
00B5JZ 350378,00
0599 0,00
0096 0,00
0433 0,00
1100 0,00
应该从value' 值中删除点
编辑:我决定编辑这篇文章,并为阅读这篇文章的人提供另一种方法:
假设文件是file1.txt , file2.txt,file3.txt当前目录中没有其他内容:
for f in file*txt; do cat ${f} | sed 's/^[[:space:]]*//;s/<input.*name="NAME-//;s/" value="/\t/;s/">//;s/\.//g' > ${f//\.txt/_out\.txt}; done
- 首先我们得到所有文件名
cat他们一一传递内容到sed- 删除行首的所有空格
- 删除所有不超过
name's 的值 - 用制表符替换
name' 值和' 值之间的所有内容value - 删除
value' 值之后的所有内容 - 将结果保存到新文件中,在文件扩展
_out名之前为原始文件名添加后缀txt