我想找出一种使用sed或awk的方法,它将查找已知字符串,让已知文件名中的“name”可以说“filename.txt”。在每次出现字符串后,“名称”都有一个空格,然后有一个小数值,范围从0.00001 - 999.99999,在这个数字之前和之后都有很多数字。在大多数情况下,该值是类型X.XXXXX。该值始终出现在字符串“名称”之后。我希望能够将“name”后面的十进制值替换为我给它的值,可以说“mydecimalvalue”。查找字符串并将其替换后的十进制值
同样,如果“filename.txt”中不存在“name”,我想将它添加到字符串“name1”后面,这是已知的,并且将在每个“filename.txt”中存在。有任何想法吗?一个解释也将非常赞赏,因为我很容易迷失在正则表达式和选项意义中。
例如,FILENAME.TXT可能看起来像:
garbage 10.34420
name1 34.23000
name 8.32345
moregarbage 4.23324
我要替换 “名称8.32345” 与 “名15.43200” 为例。如果在文件的任何位置不存在任何类型值的“名称”,我想在“name1 34.23000”后面写上“name 15.43200”。如果文件中存在“名称”,可以假定它只会在整个文件中存在一次。 谢谢!
请考虑与涵盖了你需要的支持和所需的输出该数据的情况下,一些样本数据来替换这个详尽的描述。请注意,您可以使用格式栏中的工具缩进代码和数据。祝你好运。 – shellter 2012-04-11 17:52:49