입력하다:
10.175.192.16 vgxyxgf.de.foo.net asdf 34efg
10.175.192.17 sdtds.de.foo.net xyyxv e5432
10.175.243.20 asdfycfb.us.foo.net dfvasf 34525
산출:
10.175.192.16 vgxyxgf
10.175.192.17 sdtds
10.175.243.20 asdfycfb
어떻게 출력을 얻을 수 있나요? "awk '{SOMEMAGIC}' foo.txt와 같습니다.
그래서 "입력"이 있고 /etc/hosts 파일 스타일 출력이 필요합니다... :\
답변1
재미삼아 다음은 no-no awk
답변 입니다 sed
.
cut -f1-4 -d. foo.txt
답변2
그리고awk
awk '{sub(/\..*/,"",$2);$0=$1 " "$2}1' foo.txt
그리고sed
sed 's/^\(\([^.]*\.\)\{4\}\).*$/\1/;s/\.$//' foo.txt
답변3
또 다른 awk 솔루션은 다음과 같습니다.스티븐의 cut
대답:
awk -F. -v OFS=. '{print $1, $2, $3, $4}' filename
점을 필드 구분 기호로 사용하고 처음 4개 필드를 점으로 구분하여 인쇄합니다.