을 지정합니다 :사용 정규식 내가 일부 열을 필요로 많은 파일과 폴더가 출력 파일 이름
mkdir ./raw_data/selection
doit() {
csvfix read_dsv -f 1,3,7 -s \; $1 > $1 | sed 's/raw_data/raw_data\/selection/'
}
export -f doit
Files_To_Parse=`ls ./raw_data/*csv`
parallel doit ::: $Files_To_Parse
이 작동하지 않습니다.
하지만 경우 이에 :
cd ./raw_data
doit() {
csvfix read_dsv -f 1,3,7 -s \; $1 > selection/$1
}
export -f doit
Files_To_Parse=`ls -1 *csv`
parallel doit ::: $Files_To_Parse
그것은 작동하지만 나는이 프로젝트에 상위 폴더에서이 작업을 실행할 수 있도록하고 싶습니다 (즉 brief_csv.sh
및 호출라는 이름의 파일이 넣어
것은 오타는 "이을하지 않아도인가요 -1 "옵션을 사용할 수 있습니까? 나는 그것이 필요할 것이라고 기대할 것이다. 당신에게 주요한 문제가 있다면, 이것이 Bash라면 "$ 1> ./raw_data/selection/${1:9}"시도해 보셨습니까? " 그렇지 않으면 아마도 "$ 1> $ (echo $ 1 | sed의/raw_data/raw_data \/selection/')"? – EdmCoff
'ls'은 파이프에 쓰는 것을 알고 자동으로'-1' 행동을 가능하게합니다. 이 옵션은 인터 액티브 세션에서 출력이 어떻게 보이는지보고 싶을 때만 필요합니다. – tripleee
어쨌든, 스크립트에서'ls '를 사용하지 마십시오. http://mywiki.wooledge.org/ParsingLs 올바른 방법은 간단히'parallel doit ::: * csv'입니다. – tripleee