텍스트 파일에 존재하는 텍스트를 열지 않고 지우는 방법은 무엇입니까?
예를 들어 hello.txt텍스트 데이터 가있는 파일 이 있는데 파일 을 열지 않고 전체 텍스트를 지우려면 어떻게 해야합니까?
이것은 nano, Gedit 등과 같은 편집기를 사용하지 않음을 의미합니다.
텍스트 파일에 존재하는 텍스트를 열지 않고 지우는 방법은 무엇입니까?
예를 들어 hello.txt텍스트 데이터 가있는 파일 이 있는데 파일 을 열지 않고 전체 텍스트를 지우려면 어떻게 해야합니까?
이것은 nano, Gedit 등과 같은 편집기를 사용하지 않음을 의미합니다.
답변:
CTRL+ ALT+로 터미널을 열고 다음 T과 같이 입력하십시오.
> hello.txt
그게 전부입니다. 파일을 열지 않아도 해당 파일의 데이터가 지워집니다.
예:

stdout있으면 기존 파일 을 덮어 씁니다. 이 경우에는 아무것도 없습니다 stdout. 따라서 파일이 공백으로 덮어 쓰여지고 기본 데이터가 있으면 삭제됩니다.
또한 rajagenupula의 답변과 같은 리디렉션을 사용하려고합니다. 그러나 약간 더 유연성이 있습니다. 터미널을 열고 다음을 입력하십시오.
cat > hello.txt
그리고 언론 Ctrl+ C. 이전 파일이 지워집니다. 이 정도까지 원한다면 괜찮습니다.
원하는 경우 파일을 삭제 한 후 더 많은 작업을 수행 할 수 있습니다. 이런 식으로 파일을 열지 않고도 파일을 지울 수있을뿐만 아니라 파일에 적절한 형식으로 몇 줄을 쓸 수 있습니다. 파일을 삭제 한 후 "우분투는 최고의 OS입니다"라고 쓰고 싶다고 말하십시오.
cat > hello.txt
Ubuntu is the
best OS
그런 다음 Ctrl+를 누르십시오 C. 이제 이전 파일이 지워집니다. 동시에 단어를 두 줄에 넣습니다.
예를보십시오 :

>리디렉션을 나타냅니다. cat > file쓸 것이다 stdout기존 파일을 덮어 쓰기, 파일에.
나는 항상 로그 파일 로이 작업을 수행해야합니다. 내가 찾은 가장 쉬운 방법은 다음 명령을 사용하는 것입니다.
cat /dev/null > hello.txt
이렇게하면 파일의 내용이 모두 삭제되고 편집기에서 파일을 열거 나 텍스트를 선택하지 않고 빈 파일로 남겨 둡니다. 보다 구체적으로 파일의 내용을 "/ dev / null"의 내용으로 바꾸거나 아무것도하지 않는 것입니다. 실제로는 매끄 럽습니다.
유일한 경고는 현재 로그인 한 사용자에게 해당 파일에 대한 쓰기 권한이 있어야한다는 것입니다.
또 다른 방법 - 파일에cp/dev/null
xieerqi:$ cat testFile.txt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 115247656 83100492 26269816 76% /
none 4 0 4 0% /sys/fs/cgroup
udev 2914492 4 2914488 1% /dev
tmpfs 585216 1152 584064 1% /run
none 5120 0 5120 0% /run/lock
none 2926072 98096 2827976 4% /run/shm
none 102400 76 102324 1% /run/user
xieerqi:$ cp /dev/null testFile.txt
xieerqi:$ cat testFile.txt
xieerqi:$
이 답변은 수퍼 유저의 다른 답변을 기반으로 합니다. 가장 짧은 bash 명령 truncate은 아니지만 일반 초보자에게는 가장 읽기 쉽습니다.
$ echo Hello > Hello.txt
$ echo World! >> Hello.txt
$ cat Hello.txt
Hello
World!
$ truncate -s 0 Hello.txt
$ ll Hello.txt
-rw-rw-r-- 1 rick rick 0 Mar 20 17:32 Hello.txt
truncate여기서 명령 과 함께 사용되는 매개 변수 :
장점은 truncate0이 아니라 유지할 양을 지정할 수 있다는 것입니다 .
$ truncate -s 10000 Hello.txt
... 처음 10,000 바이트 이후의 모든 것을 자릅니다. 프로그램이 미쳐서 많은 메가 바이트의 데이터를 작은 로그 파일로 덤프 한 경우에 유용 할 수 있습니다.
truncate합당한 더 큰 보통 크기 10K로 명령을 실행하십시오.그래서 나는 이것에 대답하기 위해 많은 방향 전환이 사용되는 것을 본다.)
콤보와 약간 다른 접근법 : rm & touch
rm hello.txt && touch hello.txt
( 예 ... 아직 또 다른 치트! )
따라서이 명령 콤보를 사용 하면 hello.txt 파일이 열리지 않고 결국 내용이 지워진 hello.txt 파일이 여전히 있습니다. 당신이 원하는 것처럼!
vi filename -c ':1,$d' -c ':wq'
특정 권한 때문에 나를 위해 최선을 다했습니다.
vi이 무엇인지, 다양한 매개 변수와 인수가 무엇인지 설명 할 수 있습니다.