写一个bash脚本来转置文本文件nowcoder.txt中的文件内容。
文件中每行列数相同,并且每个字段由空格分隔
示例:
假设 nowcoder.txt 内容如下:
job salary
c++ 13
java 14
php 12
你的脚本应当输出(以词频升序排列):
job c++ java php
salary 13 14 12
job salary c++ 13 java 14 php 12
job c++ java php salary 13 14 12
awk '$1="1."NR","$1,$2="2."NR","$2' nowcoder.txt | tr " " "\n" | sort -n | awk -F "," '{print $2}' | tr "\n" " " | awk -F " " '$5="\n"$5'给每一个数前面加一个数据用于排序 再打平
awk '{print $1}' nowcoder.txt | xargs awk '{print $2}' nowcoder.txt | xargs
$ cat nowcoder.txt job salary employees c++ 13 70 java 14 80 php 12 30 $ <nowcoder.txt awk '{ for (i=1; i<=NF; i++) arr[i]= (arr[i]? arr[i] FS $i: $i) } END { for (i in arr) print arr[i] }' job c++ java php salary 13 14 12 employees 70 80 30
$ rs -Tzc' ' < nowcoder.txt job c++ java php salary 13 14 12 employees 70 80 30
awk '{for(i=1;i<=NF;i++)a[i]=a[i]" "$i}END{for(i in a)print a[i]}'