#!/bin/bash
echo " Enter the name of your directory. You should enter the absolute path to the directory if it is not found in the current directory!"
read location
echo $location
filecount=$( find $location –type f –name "*.txt" -size -4K)
echo $filecount
답변1
echo " Enter the name of your directory. You should enter the absolute path to the directory if it is not found in the current directory!"
-- 텍스트 인쇄read location
- 텍스트를 입력하고 변수에 저장하기를 기대합니다.$location
echo $location
- 변수 인쇄$location
filecount=$(...)
- 명령의 출력을 변수에 저장$filecount
find $location –type f –name "*.txt" -size -4K
- 폴더에서 이름이 ".txt"로 끝나고 크기가 있는 파일을 검색합니다$location
(참고: 스크립트에 오류가 있습니다. 소문자여야 합니다).type f
-name "*.txt"
-size 4
-size 4k
k
echo $filecount
- 결과 인쇄
TL;DR은 폴더 경로를 묻고 길이가 4KB인 파일을 찾습니다. 그리고 인쇄해 보세요
변수 이름으로 판단하면 filecount
작성자는 아마도 여러 파일을 가져오고 싶어할 것이므로 명령을 다음과 같이 업데이트해야 합니다.
filecount=$(find $location –type f –name "*.txt" -size 4k | wc -l)
그럼 내가 시험에 합격한 걸까?
답변2
위에서 언급한 스크립트는 크기가 4KB 미만이고 파일 이름 접미사가 인 파일의 경로 이름을 찾는 데 사용됩니다 .txt
.
$location
변수 확장은 따옴표가 없기 때문에 공백 등이 포함된 값은 처리하지 않습니다 . 또한 경로 이름을 단일 문자열로 저장하므로 경로 이름에 공백이나 개행 문자 등이 포함된 경우 경로 이름을 계산하기가 어렵습니다.
또한보십시오: