我有几个文件包含具有唯一子字符串的行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
和value
html 标签道具总是不同的。
我需要将制表符分隔的值放入单独的文件中,其名称与原始文件相对应。
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