2017-11-22 8 views
-1

에 대한 조건에 부합 양식 파일을 가져 I이 파일의 예를 라인에 대한 두 개의 열을 가진 파일은 다음과 같습니다있어 : 사용자 이름 데이터bash는, 특정 열

username,20150706 

나는 라인을 얻으려고 두 번째 열의 날짜가 예보다 오래 되었음. 20151231.

편집 : 해결 : 루프에서 반복하여 날짜 (파일의 두 번째 열)를 읽고 다른 날짜와 비교하고 싶습니다. 20151231. 그런 다음 날짜가 20151231보다 오래된 경우 전체 행 (사용자 이름, 날짜)을 파일에 씁니다. 그리고 여기에 내가 할 방법은 다음과 같습니다

date1=20151231 
while read -r line; 
    do 
      date2=$(echo $line | cut -d "," -f2); 
      if ((date2 < date1)); 
        then 
        echo "$line" >> filename2; 
      fi 
    done < filename 

그래서 하나의 작은 문제가 어떤 제안을 사전에 :)

감사를 해결했다.

+0

샘플 데이터가 항상 도움이됩니다. – karakfa

+0

기본 명령은 날짜 계산에 좋지 않기 때문에 저는 perl을 사용할 것입니다. perl 스크립트는 원하는 날짜를 제한으로받습니다. 그런 다음 날짜 양식에서 파일을 추출하여 비교하십시오. – Nic3500

+0

http://idownvotedbecau.se/noattempt/ 및 http://idownvotedbecau.se/nocode/ – Nic3500

답변

1

당신은 AWK와 함께이 문제를 해결 할 수 있습니다

awk -F',' -v threshold=20151231 '$2<=threshold' file 

희망이 당신을 도와줍니다!