gpt4 book ai didi

linux - 如何缩进文件+bash中的行

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:28 24 4
gpt4 key购买 nike

我有很多像下面这样的文件(所有文件都有相同的概念)

 more list-OS23

linux-d
linux-01 fedora-linux-c
Solaris_machine1
AIX-65 linux-redhat18 unixware7-h unix-digital
linux56-a linuxr9

我的目标是按以下格式顺序缩进行

 more list-OS23


cycel 1 cycel2 cycel3 cycel4


linux-d fedora-linux-c unixware7-h unix-digital
linux-01 linux-redhat18
Solaris_machine1 linuxr9
AIX-65
linux56-a

我尝试通过 awk 缩进文件

  awk '{print $1"  "$2"   "$3}'  file

但是缩进不符合我的预期

我可以得到如何缩进文件的想法或真实示例吗?

我认为 printf 对于这个建议来说是一个很好的命令

最佳答案

$ cat tst.sh
awk '
{
for (i=1;i<=NF;i++) {
rowNr = ++rowNrs[i]
colNr = ++colNrs[rowNr]
vals[rowNr,colNr] = $i
numCols = (NF > numCols ? NF : numCols)
}
}
END {
for (colNr=1; colNr <= numCols; colNr++) {
printf "cycle%s%s", colNr, (colNr<numCols ? OFS : ORS)
}
for (rowNr=1; rowNr <= NR; rowNr++) {
for (colNr=1; (rowNr,colNr) in vals; colNr++) {
printf "%s%s", (colNr>1 ? OFS : ""), vals[rowNr,colNr]
}
print ""
}
}
' "$1" | column -t

$ ./tst.sh file
cycle1 cycle2 cycle3 cycle4
linux-d fedora-linux-c unixware7-h unix-digital
linux-01 linux-redhat18
Solaris_machine1 linuxr9
AIX-65
linux56-a

关于linux - 如何缩进文件+bash中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38142600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com