.hidden 파일에 대한 옵션?

.hidden 파일에 대한 옵션?

.hidden파일에는 어떤 옵션이 있습니까? 폴더에서 특정 파일 형식을 숨기고 싶지만 을 넣으면 *.out으로 끝나는 모든 파일이 숨겨질 것이라고 생각했지만 .out작동하지 않습니다. :(

노틸러스를 사용하고 있습니다.

업데이트: 이 옵션이 없으면 디렉토리에서 실행될 때 일치하는 끝이 있는 모든 파일을 찾아 file 에 쓰는 bash 쉘을 만드는 것이 가능할 것이라고 생각했습니다 .hidden. 저는 명령줄 경험이 없지만 시도해 보겠습니다 :).

답변1

재미삼아 John의 답변을 조금 개선하겠습니다. 이 명령은 전체 파일을 덮어쓰지 않고 대신 파일 이름이 이미 파일에 있는지 확인 .hidden하고 없으면 추가합니다.

for i in *.out; do grep -qxF "$i" tout || echo $i; done

보다 일반적인 스크립트를 원한다면 다음과 같이 하면 됩니다.

#!/bin/bash -e

if [ $# -gt 3 ]; then
        echo "Usage: $0 [directory [extension [listfile]]]"
        echo 'Defaults to "." ".out" ".hidden"'
        exit 1
fi

# Apply defaults.
dir=${1:-.}
ext=${2:-.out}
listf=${3:-.hidden}

# Construct the list file.
list="$dir/$listf"

# Make sure the list file exists or the first `grep` will print an error.
[ -f "$list" ] || touch "$list"

# Glob all the files
for filename in "$dir"/*"$ext"; do
        # Check whether the list contains the file name
        if ! grep -qxF "$filename" "$list"; then
                # If not, add it.
                echo "$filename" >>"$list"
        fi
done

답변2

Amazed의 답변을 바탕으로 필요한 작업을 수행하는 쉘 명령을 만들었습니다.

for i in *.out; do echo "$i"; done > .hidden

이것은 작동하는 것 같습니다. 선택한 디렉토리의 모든 하위 디렉토리에 쉘 명령을 적용하는 것이 가능합니까? (실제로 이것은 또 다른 질문일 수 있습니다)

답변3

새로운 답변: 제가 생각했던 것과는 다른 의미로 말씀하신 것 같습니다. Nautilus File Manager가 기본적으로 숨기려는 모든 파일을 나열하는 텍스트 파일을 생성하면 .hidden다음 명령을 사용할 수 있습니다(@Jóhann의 답변에서):

for i in *.out; do echo "$i"; done > .hidden

.out숨기려는 파일 확장자로 바꾸세요 .

이전 답변:

관련된 모든 파일이 동일한 확장자를 공유하고 다른 파일이 동일한 확장자를 공유하지 않는 경우 간단한 셸 명령을 사용하면 됩니다. 예를 들어, *.out파일의 경우:

for i in ./*.out; do mv "$i" ./."${i#./}"; done

이 명령은 현재 디렉터리에서 *.out과 일치하는 모든 파일을 다음 디렉터리로 이동합니다..<name>.out

관련 정보