다음은 "example"이라는 파일에 있는 값 중 일부입니다. 행을 하나만 배치했는데 약 천 개가 있습니다.
a 7 q y 4 5 8 9 5 6 567 5678578 56784 345 345 2 df 4 1 245
b 7 q y 4 5 8 9 5 6 567 5674578 56789 334 324 3 df 4 1 245
구체적으로, 열 1의 a 또는 b 값은 어떻습니까? 첫 번째 열이 a 또는 b인 나머지 1000개 행에 대해서도 마찬가지입니다. 값이 "a"인 모든 줄이 하나의 파일에 있고 값이 "b"인 모든 줄이 다른 파일에 있도록 줄을 분리하고 싶습니다. 그게 가능합니까?
awk '$1 == a' /home/me/example > /home/me/rowa
나는 성공하지 않고 이것을 시도했지만 이유를 모르겠습니다. 누구든지 이것을 명확히하는 데 도움을 줄 수 있습니까?
답변1
awk 명령을 사용하는 것은 쉽습니다
awk '{print > $1".txt"}' infile.txt
이렇게 하면 첫 번째 열이 "a"만 있는 행을 포함하는 "a.txt" 파일과 첫 번째 열이 "b"만 있는 행을 포함하는 "b.txt" 파일이 생성됩니다(첫 번째 열에 a 또는 b만 포함된 경우).
위는 데이터가 다음과 같이 구분된 경우입니다.상표또는공간, 이것이 다른 경우 awk로 알 수 있습니다 -F"DELIMITER"
. 여기서 DELIMITER는 파일 필드 구분 기호를 나타냅니다.