내 라우터에 파일을 구성하고 있는데 /etc/hosts
이 파일을 통해 차단해야 하는 135,000개 이상의 도메인 목록이 있습니다. 이 파일은 거의 5MB의 공간을 차지합니다. 내 라우터에서 사용 가능한 RAM이 극도로 제한되어 있어 dnsmasq가 충돌 없이 파일을 메모리에 로드할 수 없는 것으로 나타났습니다.
현재 호스트 파일은 다음과 같습니다.
0.0.0.0 a.triggit.com
0.0.0.0 a.twiago.com
0.0.0.0 a.visualrevenue.com
0.0.0.0 a.websponsors.com
0.0.0.0 a.webwise.org
0.0.0.0 a15172379.alturo-server.de
0.0.0.0 a2.mediagra.com
0.0.0.0 a3.suntimes.com
0.0.0.0 a7cleaner.com
0.0.0.0 aa.agkn.com
0.0.0.0 aa.tweakers.nl
0.0.0.0 aaa-architecten.nl
0.0.0.0 aaa-arcobaleno.it
0.0.0.0 aads.treehugger.com
0.0.0.0 aan.amazon.com
0.0.0.0 aarth.net
0.0.0.0 aax-cpm.amazon-adsystem.com
0.0.0.0 aax-us-east.amazon-adsystem.com
0.0.0.0 aax-us-pdx.amazon-adsystem.com
0.0.0.0 aax.amazon-adsystem.com
0.0.0.0 ab.5.p2l.info
0.0.0.0 ab.tweakers.nl
0.0.0.0 ab913aa797e78b3.com
0.0.0.0 abclnks.com
0.0.0.0 abetterinternet.com
0.0.0.0 abi83-schramberg.de
0.0.0.0 aboardamusement.com
그러나 나는 이것을 다음과 같이 바꾸고 싶습니다.
0.0.0.0 a.triggit.com a.twiago.com a.visualrevenue.com a.websponsors.com a.webwise.org a15172379.alturo-server.de a2.mediagra.com a3.suntimes.com a7cleaner.com aa.agkn.com aa.tweakers.nl aaa-architecten.nl aaa-arcobaleno.it aads.treehugger.com
0.0.0.0 aan.amazon.com aarth.net aax-cpm.amazon-adsystem.com aax-us-east.amazon-adsystem.com aax-us-pdx.amazon-adsystem.com aax.amazon-adsystem.com ab.5.p2l.info ab.tweakers.nl ab913aa797e78b3.com abclnks.com abetterinternet.com abi83-schramberg.de
0.0.0.0 aboardamusement.com
이 줄 중 어느 것도 256자를 초과하지 않으며 원래 dos 목록의 각 필드는 두 부분으로 분할되지 않습니다(즉, 256번째 문자가 새 줄로 가져오지 않습니다).
원시 호스트 파일을 읽고 일부 결과(즉, 256자 제한을 위반하기 전의 마지막 필드)를 "먹지" 않고 더 긴 한 줄 표현식(최대 256자)을 만들 수 있습니까?
답변1
이것은 아마도 모든 Unix 시스템의 모든 쉘에서 awk를 사용하여 원하는 것일 것입니다.
$ cat tst.awk
NR == 1 {
out = $1
}
{
prev = out
out = out OFS $2
if ( length(out) > 256 ) {
print prev
out = $0
}
}
END {
print out
}
$ awk -f tst.awk file
0.0.0.0 a.kerg.net a.libertystmedia.com a.ligatus.com a.ligatus.de a.mktw.net a.o333o.com a.phormlabs.com a.predictvideo.com a.prisacom.com a.rad.live.com a.rad.msn.com a.spolecznosci.net a.ss34.on9mail.com a.total-media.net a.tribalfusion.com
0.0.0.0 a.triggit.com a.twiago.com a.visualrevenue.com a.websponsors.com a.webwise.org a15172379.alturo-server.de a2.mediagra.com a3.suntimes.com a7cleaner.com aa.agkn.com aa.tweakers.nl aaa-architecten.nl aaa-arcobaleno.it aads.treehugger.com
0.0.0.0 aan.amazon.com aarth.net aax-cpm.amazon-adsystem.com aax-us-east.amazon-adsystem.com aax-us-pdx.amazon-adsystem.com aax.amazon-adsystem.com ab.5.p2l.info ab.tweakers.nl ab913aa797e78b3.com abclnks.com abetterinternet.com abi83-schramberg.de
0.0.0.0 aboardamusement.com