bash+;从文件中获取标题并对其编号
这将获取文件中的所有标题bash+;从文件中获取标题并对其编号,bash,Bash,这将获取文件中的所有标题 $head -n 1 basicFile.csv | tr ',' '\n' header1 header2 header3 header4 header5 header6 header7 header8 header9 header10 我想要的是在左边添加标题编号 要获得类似于: 1:header1 ... 10:header10 我如何做到这一点?使用awk可能有一种较短的方法,但
$head -n 1 basicFile.csv | tr ',' '\n'
header1
header2
header3
header4
header5
header6
header7
header8
header9
header10
我想要的是在左边添加标题编号
要获得类似于:
1:header1
...
10:header10
我如何做到这一点?使用
awk
可能有一种较短的方法,但它可以:
oldIFS=$IFS
IFS=','
i=1
for header in $(head -n 1 basicFile.cs); do
echo ${i}:$header
((i++))
done
IFS=$oldIFS
使用
awk
可能有一种更短的方法,但这是可行的:
oldIFS=$IFS
IFS=','
i=1
for header in $(head -n 1 basicFile.cs); do
echo ${i}:$header
((i++))
done
IFS=$oldIFS
您只需使用一个简单的计数器和for循环:
COUNTER=1
for h in $(head -n 1 basicFile.csv | tr ',' '\n')
do
printf "%d:%s\n" "$COUNTER" "$h"
(( COUNTER++ ))
done
您只需使用一个简单的计数器和for循环:
COUNTER=1
for h in $(head -n 1 basicFile.csv | tr ',' '\n')
do
printf "%d:%s\n" "$COUNTER" "$h"
(( COUNTER++ ))
done
不完全是您指定的输出,但非常接近
不完全是您指定的输出,但非常接近。这取决于,只是外壳还是awk足够好
% cat count_headers
cnt=1 ; head -n 1 "$1" | tr ',' '\n' | while read header ; do
printf "%d:%s\n" $cnt "$header"
cnt=$(($cnt+1))
done
% sh count_headers basicFile.csv
1:...
...
% awk -F, 'NR==1 {for(i=1;i<=NF;i++) print i ":" $i}' basicFile.csv
1:...
...
%
%cat count\u头
cnt=1;head-n 1“$1”| tr',“\n'|读取页眉时;做
printf“%d:%s\n“$cnt”$header”
cnt=$($cnt+1))
完成
%sh count_headers basicFile.csv
1:...
...
%awk-F,'NR==1{for(i=1;i这取决于壳还是awk足够好
% cat count_headers
cnt=1 ; head -n 1 "$1" | tr ',' '\n' | while read header ; do
printf "%d:%s\n" $cnt "$header"
cnt=$(($cnt+1))
done
% sh count_headers basicFile.csv
1:...
...
% awk -F, 'NR==1 {for(i=1;i<=NF;i++) print i ":" $i}' basicFile.csv
1:...
...
%
%cat count\u头
cnt=1;标头-n 1“$1”| tr',“\n'|读取标头时;do
printf“%d:%s\n“$cnt”$header”
cnt=$($cnt+1))
完成
%sh count_headers basicFile.csv
1:...
...
%awk-F,'NR==1{(i=1;如果任何标题包含空格,它将给出意外的结果:for
迭代单词而不是行。标题名称中有空格,这将为每个标题打印一个数字word@glennjackman嗯,很好的一点,这对我来说很好,因为我使用了上面的例子,如果任何头部ers包含空格:for
迭代单词而不是行。标题名称中有空格,这将为每个字符打印一个数字word@glennjackman嗯,很好的一点,这对我来说很好,因为我使用了上面的示例,标题名称中有空格,这将为每个标题打印一个数字word@HattrickNZ:固定。老鼠如果要更改文本以匹配IFS,请更改IFS以匹配您的文本。标题名称中有空格,这将为每个标题打印一个数字word@HattrickNZ:已修复。与其更改文本以匹配IFS,不如更改IFS以匹配您的文本。