데이터 수집을 위한 실행 경로에 사용자 입력 추가

데이터 수집을 위한 실행 경로에 사용자 입력 추가

.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

내 코드는 분명히 틀렸지만 내 생각은 사용자가 앞부분을 입력하면 $fileaddpathCD에 추가되어 최종 폴더에 추가된다는 것입니다. 예를 들어 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

줄 수를 반환합니다.

관련 정보