Linux 更改列标志Bash

Linux 更改列标志Bash,linux,bash,formatting,format,Linux,Bash,Formatting,Format,这是我的问题。我有一个这样组织的文本文件 velocity1 List<vector> 1950 ( (-1.60365e-08 0.00686349 1.40107e-08) (-7.18849e-09 0.0161151 8.25475e-09) (3.90935e-09 0.0233046 -7.52952e-10) .... (-1.31565e-09 -0.076973 -1.14286e-11) (-5.33963e-10 0.0353941 -5.5087

这是我的问题。我有一个这样组织的文本文件

velocity1
List<vector>
1950
(
(-1.60365e-08  0.00686349 1.40107e-08)
(-7.18849e-09  0.0161151  8.25475e-09)
(3.90935e-09   0.0233046 -7.52952e-10)
....
(-1.31565e-09 -0.076973  -1.14286e-11)
(-5.33963e-10  0.0353941 -5.50873e-11)
)
;
速度1
列表
1950
(
(-1.60365e-08 0.00686349 1.40107e-08)
(-7.18849e-09 0.0161151 8.25475e-09)
(3.90935e-09 0.0233046-7.52952e-10)
....
(-1.31565e-09-0.076973-1.14286e-11)
(-5.33963e-10 0.0353941-5.50873e-11)
)
;
这里是我想要的新版本

velocity1
List<vector>
1950
(
(-1.60365e-08 -0.00686349 1.40107e-08)
(-7.18849e-09 -0.0161151  8.25475e-09)
(3.90935e-09  -0.0233046 -7.52952e-10)
....
(-1.31565e-09  0.076973  -1.14286e-11)
(-5.33963e-10 -0.0353941 -5.50873e-11)
)
;
速度1
列表
1950
(
(-1.60365e-08-0.00686349 1.40107e-08)
(-7.18849e-09-0.0161151 8.25475e-09)
(3.90935e-09-0.0233046-7.52952e-10)
....
(-1.31565e-09 0.076973-1.14286e-11)
(-5.33963e-10-0.0353941-5.50873e-11)
)
;
我想将符号(从正数改为负数,反之亦然)改为第二列,并使用bash命令保持相同的格式。我知道元素的数量。可能吗


感谢您的帮助

请编辑您的Q,以包含上述样本输入的样本输出。你需要展示你的工作或研究成果。请更新您的Q,而不是在评论中回复。祝你好运。
awk'{$2=$2*-1}1'文件>新文件&&mv新文件
。脆弱的解决方案。如果您要定期处理此类数据,
awk
python
r
将是工具包中的好语言。请参阅`了解有关
awk
的详细介绍。祝你好运。Opps,让
awk'NF>2{$2=$2*-1.0}1'文件>新文件
这个
&&mv新文件
是可选的,应该等到你确定你可以覆盖原始的输入数据。祝你好运。请编辑你的Q以包含上述样本输入的样本输出。你需要展示你的工作或研究成果。请更新您的Q,而不是在评论中回复。祝你好运。
awk'{$2=$2*-1}1'文件>新文件&&mv新文件
。脆弱的解决方案。如果您要定期处理此类数据,
awk
python
r
将是工具包中的好语言。请参阅`了解有关
awk
的详细介绍。祝你好运。Opps,让
awk'NF>2{$2=$2*-1.0}1'文件>新文件
这个
&&mv新文件
是可选的,应该等到你确定你可以覆盖原始的输入数据。祝你好运