将数字中的数字相互乘以

-1 bash

我有数字列表,我想将每个数字中的数字相乘;例如,对于数字 1234,它是 1 X 2 X 3 X 4 = 24

例如以下输入

7675342567
098765342567
1234567890
0987654
234567
8765678
98
0999
09876543
345678
876543
87654
Run Code Online (Sandbox Code Playgroud)

需要以下结果:

7408800
0
0
0
5040
564480
72
0
0
20160
20160
6720
Run Code Online (Sandbox Code Playgroud)

我应该如何进行?

小智 6

你可以这样做:

<file sed 's/./&*/g;s/*$//' | bc

7408800
0
0
0
5040
564480
72
0
0
20160
20160
6720
Run Code Online (Sandbox Code Playgroud)

使用 GNU sed,可以简化为:

<file sed 's/./*&/2g' | bc
Run Code Online (Sandbox Code Playgroud)