.list 파일의 줄 수를 읽으려고 하는데 .list 파일이 폴더 내부에 있습니다. 내 코드는 위와 같습니다.
#!/bin/sh
echo -e "Enter file location: \c"
read filename
filepath=/filebig/filemedium/filesmall/data.list
filefinalpath=$filename + $filepath
cd $filefinalpath
if [ -e "$filefinalpath" ]
then
total=$(grep -c "#" -c -v $filefinalpath)
echo -e "There are $total lines"
else
echo $filefinalpath not found
fi
내 코드는 분명히 틀렸지만 내 생각은 사용자가 앞부분을 입력하면 $fileaddpath
CD에 추가되어 최종 폴더에 추가된다는 것입니다. 예를 들어 project/user123/folder1
. 그런 다음 filepath=/filebig/filemedium/filesmall/data.list
최종 출력을 얻으려면 다음과 결합됩니다.
CDproject/user123/folder1/filebig/filemedium/filesmall/data.list
답변1
다음 줄을 변경해야 합니다.
filefinalpath=$filename + $filepath
장차 ~ 가 되는
filefinalpath="${filename}${filepath}"
답변2
몇 가지 문제:
1)은 cd
"디렉터리 변경"을 나타내며 디렉터리로의 이동만 허용하지만 파일의 경우에는 실패합니다.
좋아요:
cd /path/to/directory
오류:
cd /path/to/directory/file.list
2) 문자열 결합
stringA=foo
stringB=bar
newstring="$oldstring""$newstring"
3) 라인 계산
나는 wc
이것을 위해 다음을 사용하는 것이 좋습니다.
wc -l file
줄 수를 반환합니다.