저는 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