![쉼표 앞의 문자열과 일치하는 줄을 삭제합니다.](https://linux55.com/image/109154/%EC%89%BC%ED%91%9C%20%EC%95%9E%EC%9D%98%20%EB%AC%B8%EC%9E%90%EC%97%B4%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EC%A4%84%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 bash 스크립팅을 처음 접했기 때문에 도움을 주시면 대단히 감사하겠습니다. 아래는 내가 달성하고 싶은 것입니다.
두 개의 텍스트 파일이 있습니다. 두 번째 파일의 쉼표 앞의 문자열과 일치하는 첫 번째 파일의 모든 줄을 삭제하고 싶습니다.
예를 들어
파일 1:
this_is_a_test.txt,11dsdsdsdsd
this_is_a_test24.txt,545467ddd
this_is_a_test22,121244442
파일 2:
this_is_a_test.txt
this_is_a_test24.txt
this_is_a_test22
원하는 출력: 공백
답변1
당신은 그것을 사용할 수 있습니다 :
grep -vFf file2 file1
쉼표 다음에 일치하더라도 여전히 줄을 삭제합니다.
답변2
간단한 sed
방법으로 이를 수행할 수 있습니다.
IFS='
' # If whitespaces exist in file 2
cat file2.txt | while read i; do
sed -i '/^'"$i"',/d' file1.txt
done