안녕하세요 저는 파일에서 특정 정보를 검색하고 인쇄하는 스크립트를 만들려고합니다. 내 경우는 다음과 같습니다 : id|lastname|firstname|birthday|
형식의 파일이 있습니다. 스크립트를 호출하고 데이트 인자와 파일을 주면 주어진 날짜 이후에 태어난 모든 "사람들"을 보여 주려고합니다. 내가 당신에게 내 코드를 보여 드리죠 :awk 쉘에서 날짜 비교하기
#!/bin/bash
case $1 in
--born-since)
d=($2 +%F); # this one puts the date I've given into the variable d
grep -vE '^#' $4 | awk -F "|" ' $4 >= $d '
;;
esac
을 나가의 형태로이 스크립트를 호출
./script --born-since <date> -f <file>
포인트는 내가하고 싶은 일을하지 것입니다. 잘못된 결과를 인쇄합니다. 예를 들어, 날짜가 4 개인 파일 (1989-12-03, 1984-02-18, 1988-08-10-14, 1980-02-02)에서 1985-05-13의 날짜를 사용하면 1984-02-18 날짜가 잘못되었습니다. 아마도 날짜가 아닌 다른 것을 비교하고있을 것입니다. 어떤 충고 ? 단일 AWK 과정
그래 내 나쁜, 그것은 몇 가지 입력 라인 –
게시물을 편집, 그것은 다른 항목에서 너무 많은 다른 결과가, 그러므로 내가 조금 혼란 가지고있어, 잘못 모든 것 fields – RomanPerekhrest