我有一个像这样的文件
1+1+1+1=4
-2.000000000000
2+1+2+1=6
-4.000000000000
3+1+3+1=8
-4.828427124746
.....
我想删除每一行=
之前的字符。
然后我想重新组合两行,试图得到一个像这样的表:
4 -2.000000000000
6 -4.000000000000
8 -4.828427124746
.....
答案 0 :(得分:4)
你可以使用sed和paste。
$ sed 's/^.*=//' file | paste -d' ' - -
4 -2.000000000000
6 -4.000000000000
8 -4.828427124746
答案 1 :(得分:2)
有效的方法是使用parameter expansion:
$ s='1+1+1+1=4'
$ echo ${s##*=}
4
另见BashFAQ #100, on string manipulation in general。
要处理整个文件,while read
循环是合适的 - 如BashFAQ #001中所述:
while read -r question && read -r answer; do
echo "${question##*=} $answer"
done <input.txt >output.txt