
내 파일에는 첫 번째 줄이 헤더인 다음과 같은 쉼표로 구분된 데이터가 포함되어 있습니다.
파일 데이터:
Name,Rollno,Course,Language,Subject,Awarded
Vilas,1,MBA,Account,MB,1
Ajay,2,MMM,Subject Matter,SU,2
Fedrick,33,MMS,Mct,SC,3
작업 코드의 일부:
echo "<!DOCTYPE html>" >> n.html
echo "<html>" >> n.html
echo "<head>" >> n.html
echo "<style>" >> n.html
echo "table, th, td {" >> n.html
echo "border: 1px solid black;" >> n.html
echo "border-collapse: collapse;" >> n.html
echo "}" >> n.html
echo "</style>" >> n.html
echo "</head>" >> n.html
echo "<body>" >> n.html
awk -F, 'BEGIN{print "<table>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table>"}' A.txt >> n.html
echo "</body>" >> n.html
echo "</html>" >> n.html
코드 출력:
다음 출력 제목이 필요합니다.
답변1
노력하다
cat <<EOF > n.html
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th {background-color: yellow}
</style>
</head>
<body>
EOF
awk -F, 'BEGIN{print "<table>";}
NR==1 { cell="th" ; }
{ print "<tr>";
for(i=1;i<=NF;i++) printf "<%s>%s</%s>",cell,$i,cell ;
print "</tr>" ; cell="td" }
END{print "</table>"}' a.txt >> n.html
echo "</body>" >> n.html
echo "</html>" >> n.html
어디
echo
여기 문서에 여러 개의 접힌 부분이 있습니다 .- 가독성을 위해 여러 줄로 구성된
awk
프로그램을 배포했습니다. - 나는 사용한다
printf
NR==1 { cell="th" ; }
cell
으로 설정됩니다일첫 번째 줄의 경우(cell="th"
절에서 설정할 수 있으며 인쇄할 때마다 덮어쓰게 됩니다)BEGIN
cell
th
(?) 테이블 헤더를 나타내며 원하는 작업을 수행하도록 설계되었습니다. (원하는 모든 셀에서 사용할 수 있지만)
답변2
데이터는 쉼표로 구분되지만 ,
기본적 awk
으로 입력 텍스트의 필드 구분 기호로 공백이 사용됩니다.
시도해 보세요
awk -F, 'BEGIN{print "<table>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table>"}' File.txt
이 -F
매개변수는 데이터 입력에 대한 구분 기호( 의 열 구분 기호 File.txt
)를 제공합니다.