Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想像这样打印字段编号和字段... awk 是最好的方法吗?如果有怎么办?输入行中的字段数可能会有所不同。
input_line ="a|b|c|d" expected result: 1 a 2 b 3 c 4 d
我可以打印字段,但需要帮助打印字段编号。这就是我所拥有的
echo "a|b|c|d" |awk -F"|" '{for (i=1; i<=NF; i++) print $i}' a b c d
您可以使用 awk 命令,例如:
echo "a|b|c|d" | awk -F"|" '{for(i=1; i<=NF; i++) print i, $i}'
awk使用while循环应该可以解决问题:
awk
awk -F '|' '{ i = 1; while (i <= NF) { print i " " $i; i++; } }' <<< "a|b|c|d"