Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何更换某些形状的线条部分?_Linux_Unix_Text_Replace_Sed - Fatal编程技术网

Linux 如何更换某些形状的线条部分?

Linux 如何更换某些形状的线条部分?,linux,unix,text,replace,sed,Linux,Unix,Text,Replace,Sed,我有一个大文件,其中每一行都是这样的形式 b d b -1 其中b和d是数字。我想更改表格的所有行 b d b -1 到 其中,b是一个任意数字(即,它应保持不变) 例如,文件 0.2 0.5 0.1 -1 0 -1 0.3 0.6 应该成为 0.2 0.5 0.1 1 0 1 0.3 0.6 有没有一种简单的方法可以使用,比如说,sed或类似的工具来实现这一点 编辑。只需从文件中删除所有-。感谢@Cyrus的观察。这个特殊的问题现在已经解决了,但是,如何用更通用的模式以这种方式替换

我有一个大文件,其中每一行都是这样的形式

b d
b -1
其中
b
d
是数字。我想更改表格的所有行

b d
b -1

其中,
b
是一个任意数字(即,它应保持不变)

例如,文件

0.2 0.5
0.1 -1
0 -1
0.3 0.6
应该成为

0.2 0.5
0.1 1
0 1
0.3 0.6
有没有一种简单的方法可以使用,比如说,
sed
或类似的工具来实现这一点

编辑。只需从文件中删除所有
-
。感谢@Cyrus的观察。这个特殊的问题现在已经解决了,但是,如何用更通用的模式以这种方式替换文件的一般问题仍然没有解决。答案仍然是受欢迎的。

试试以下方法:

tr -d '-' < old_file > new_file
或使用GNU sed:

sed 's/ -1$/ 1/' old_file > new_file
如果要使用GNU sed“就地”编辑文件,请使用sed的选项
-i

sed -i 's/ -1$/ 1/' file
试试这个:

tr -d '-' < old_file > new_file
或使用GNU sed:

sed 's/ -1$/ 1/' old_file > new_file
如果要使用GNU sed“就地”编辑文件,请使用sed的选项
-i

sed -i 's/ -1$/ 1/' file

您想从文件中删除所有
-
吗?好吧,现在您已经提到了,是的,这个问题相当于从文件中删除所有
-
的问题。观察得不错。:-)我没有想到这一点,因为
-1
的意思是无穷大,而这些文件是a的表示形式。是否要从文件中删除所有
-
?好吧,既然您提到了它,是的,问题相当于从文件中删除所有
-
。观察得不错。:-)我没有想到它,因为
-1
的意思是无穷大,而这些文件是。