我正在尝试计算列的累积总和,并在输出文件的最后一列中返回答案。
这是一个示例输入文件
a
a
a
b
b
c
d
d
这是所需的输出
a 1
a 2
a 3
b 1
b 2
c 1
d 1
d 2
我希望解决方案能够从Unix命令行运行。
答案 0 :(得分:0)
#!/bin/bash
PREV=""
COUNT="0"
cat ${1} | while read LINE ; do
if [ "${LINE}" == "${PREV}" ] ; then
(( COUNT++ ))
else
(( COUNT=1 ))
fi
echo "${LINE} ${COUNT}"
PREV="${LINE}"
done
保存此脚本并运行:./ script.sh your_input_file