.csv 파일(다른 확장자가 없는 파일)로 채워진 많은 하위 디렉터리가 있는 디렉터리가 있습니다.
.csv
sed/AWK 명령을 사용하여 모든 파일을 한 번에 덮어쓰고 싶습니다 . 디렉토리 구조가 변하지 않는다면 모든 것을 다른 방향으로 옮기는 것도 좋습니다.
내가 사용하는 명령은 다음과 같습니다
$ awk 'BEGIN{FS=OFS=","} {sub("^([^/:]+://)?(www[.])?","",$1); sub("/.*","",$1)} 1' input_file
$ sed -E 's~(^[^/]*//)?(w+\.)?([^/]*)[^,]*~\3~' input_file
$ sed -E 's#^(.*://)?(www\.)?##; s#^([^,/]+)[^,]*#\1#' input_file
파일별로 편집하는 대신 모든 파일을 한 번에 편집하는 방법
답변1
GNU awk 사용:
find . -type f -name '*.csv' -exec awk -i inplace 'script' {} +
GNU sed 사용:
find . -type f -name '*.csv' -exec sed -i -E 'script' +