剪切命令问题

我在cut命令上遇到问题,

这是原始文件的示例:

userid1:john doe smith:group1
userid2:jane doe smith:group2
userid3:paul rudd :group2

预期结果:

userid1
userid2
userid3

测试命令:

#!/bin/bash
clear
id=`id -u`
if [ $id -eq 0 ]

for i in `cat users.txt`
do
userid=`echo $i|cut -d":" -f1`

echo "$userid" >>temp.txt
`chmod 777 temp.txt`
done

这给了我这个输出:

userid1
doe
smith
userid2
doe
smith
userid3
rudd

如果删除名称和姓氏之间的空格,则可以使用,并且我将“:”指定为分隔符,不知道缺少什么。

如何获得预期的结果?

干杯。

评论
  • jculpa
    jculpa 回复

    问题出在您的bash脚本上。

     for i in `cat users.txt`
    

    上面的行将您的文本按空格分隔。做就是了:

    cut -d":" -f1 < users.txt >>temp.txt
    chmod 777 temp.txt