![grep 결과에서 데이터를 얻는 방법은 무엇입니까?](https://linux55.com/image/10566/grep%20%EA%B2%B0%EA%B3%BC%EC%97%90%EC%84%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC%20%EC%96%BB%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 사이의 <td>
데이터를 grep하고 싶다</td>
예:
1
부터 시작해야 함<td>1</td>
6
부터 시작해야 함<td>6</td>
그러면 이 데이터를 어떻게 얻나요?
답변1
grep
한 줄에 여러 번 있으면 통과합니다.
grep -oP '(?<=<td>).*?(?=</td>)' infile.txt
1
6
awk
연속된 여러 패스의 합계가 동일한 경우:
awk -v FS="(<td>|</td>)" '{for(i=2;i<=NF;i+=2) print $I}' infile.txt