Linux 如何在文本文件上插入选项卡

Linux 如何在文本文件上插入选项卡,linux,bash,Linux,Bash,我试图插入一个制表符作为分隔符。我不能让它按我想要的方式工作。 这是我的建议: 这是文本数据 name surname job 00300 here name teacher 065 test 我尝试过不同的回声变体,但我对bash非常陌生,所以它不起作用 echo -e "\t$nameUser\t$jobUser\t$phoneUser\t$locationUser" >>$HOME/$DATAFILENAME ### add 这就是我展示的方式 gr

我试图插入一个制表符作为分隔符。我不能让它按我想要的方式工作。 这是我的建议:

这是文本数据

name surname    job 00300   here
name    teacher 065 test
我尝试过不同的回声变体,但我对bash非常陌生,所以它不起作用

echo -e "\t$nameUser\t$jobUser\t$phoneUser\t$locationUser" >>$HOME/$DATAFILENAME    ### add
这就是我展示的方式

grep -n -i "." $HOME/$DATAFILENAME | sort -k 2 -t $'\t' ###

使用
printf

printf '\t%s\t%s\t%s\t%s\n' "$nameUser" "$jobUser" "$phoneUser" "$locationUser" >> "$HOME/$DATAFILENAME"

使用
printf

printf '\t%s\t%s\t%s\t%s\n' "$nameUser" "$jobUser" "$phoneUser" "$locationUser" >> "$HOME/$DATAFILENAME"

您可以通过管道将输出传输到

{ echo -e "ID\tName\tJob\tPhone\tLocation" && grep -n -i "." $HOME/$DATAFILENAME | sort -k 2 -t $'\t';} | column -ts$'\t'

您可以通过管道将输出传输到

{ echo -e "ID\tName\tJob\tPhone\tLocation" && grep -n -i "." $HOME/$DATAFILENAME | sort -k 2 -t $'\t';} | column -ts$'\t'

列的标题是什么?如何将它们与数据对齐?如果它们也使用tab作为字段分隔符,那么它们也将对齐。在显示记录之前,我刚刚回显了它们。echo-e“ID\tName\tJob\tPhone\tLocation”你可以做:
echo-e“ID\tName\tJob\tPhone\tLocation”&&grep-n-i“$HOME/$DATAFILENAME | sort-k2-t$'\t'| column-ts$'\t'
哦,对不起,试试这个:
{echo-e>{ID\tName\tJob\tPhone t\tLocation”&&grep-n-i.“$HOME/$DATAFILENAME | sort-k2-t$'\t'}| column-ts$'\t'
列的标题是什么?如何将它们与数据对齐?如果它们也使用tab作为字段分隔符,那么它们也将对齐。在显示记录之前,我刚刚回显了它们。echo-e“ID\tName\tJob\tPhone\tLocation”你可以做:
echo-e“ID\tName\tJob\tPhone\tLocation”&&grep-n-i“$HOME/$DATAFILENAME | sort-k2-t$'\t'\t''column-ts$\t'
哦,抱歉,试试这个:
{echo-e>{e-e“ID\tName\tJob\tPhone\t\tLocation”&&grep-n-i.“$HOME/$DATAFILENAME$$sort-k2-t'\t'\t'\t'\t'>column'>