디렉토리에 다음과 같은 파일이 있다고 가정합니다.
file1.txt
file2.txt
file3.txt
file4
file5
fab
text1
확장자가 있는 파일을 제거 .txt
하고 파일 이름이 다음으로 시작하는 나머지 파일의 내용을 추가 해야 합니다.문서( file4
, file5
)를 단일 파일로 묶습니다.
다음 명령을 시도했지만 5개의 파일 내용을 모두 하나의 파일에 추가합니다.
ls -ltr file*|grep -vE ".txt" | cat * > final
답변1
가능한 경우 bash
다음을 사용할 수 있습니다.
shopt -s extglob
cat !(*.txt) > final
또는 다음을 사용하십시오 zsh
.
setopt extended_glob
cat ^*.txt > final
답변2
찾다. ! -name '*.txt' | xargs 고양이 >> 최종
답변3
이 시도
#!/bin/bash
find . -name '*.txt' -exec rm {} +
for f in file*
do
cat $f >> final_file
done
파일을 삭제하지 말고 한 줄로 .txt
무시하십시오.cat
$ find . -name 'file*' ! -name '*.txt' -exec cat {} \; > final