여러 문서에서 하위 디렉토리에 걸쳐 반복적으로 중복 된 줄을 제거하고 싶지만, 이전 줄이 동일 하지 않으면 한 줄이 중복 된 줄로 간주되어서는 안됩니다 .
foo
foo
foo
bar
baz
foo
bar
결과는 다음과 같아야합니다.
foo
bar
baz
foo
bar
사용하여 내 원래의 솔루션 awk
으로 실패 seen
이 접근하는 올바른 방법이 아닙니다.
#!/usr/bin/env bash
shopt -s globstar
for file in **/*.md; do
awk '!seen[$0]++' "$file" > "temp" && mv "temp" "$file"
done
이것이하는 일입니다 uniq
:
uniq file
주어진 입력에 대해 다음을 생성합니다.
foo
bar
baz
foo
bar
에서 man uniq
:
파일에서 반복되는 줄을보고하거나 필터링합니다.
인접한 행을 비교하는 표준 입력을 읽고 각 고유 입력 행의 사본을 표준 출력에 씁니다.
인접한 동일한 입력 행의 두 번째 및 후속 사본은 기록되지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다