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

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

.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

행 수가 반환됩니다.

관련 정보