파일 목록이 들어있는 파일이 있고 각 파일에 대해 두 가지 명령을 수행하려고합니다. files.txt의 내용 : file1
file2
file3
내가 각 파일에 수행 할 명령은 ls -s 및 du (예를 들어). 내가 출력은 다음과 같이 끝나게 할 : 공정 대체를 사용하여, <ls size> <du size> file1
<ls size> <du s
json 파일을 예쁜 인쇄 형식으로 변환하는 스크립트 (convert.sh)를 만들었습니다. 예 : convert.sh source.json
원본을 대체 할 원본 파일은 예쁜 인쇄 형식으로 덮어 씁니다. convert.sh의 콘텐츠 #!/bin/bash
INFILE=$1
python -m json.tool $INFILE > $INFILE.tmp
m
명령의 stdout을 구문 분석하고 행이 일치하면 명령을 실행하고 싶습니다. 예를 들어 촬영 cat cities.txt의 출력은 paris
amsterdam
munich
berlin
london
brussels
나는이 같은 목록을 에코하지만, 문자 B로 시작하는 도시의 명령을 실행하고자합니다. cat cities.txt | <command he
xargs 다음에는 몇 가지 명령을 따르고 있습니다. 재미있게도 명령이 제대로 작동한다면 stdout으로 보내면됩니다. 변수에 할당하려고하면 변수는 비어있게됩니다. $~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "echo {} | tr '/' '\t' | cut -f9;"
sample1
sample
.bam and .vcf 경로를 제외하고 ls 및 xargs을 사용하여 특정 파일 확장자를 인쇄하려고합니다. 아래는 닫습니다. 그러나 | 두 개의 ls 명령을 사용하면 아래 오류가 발생합니다. 각 파일이 개행 문자로 인쇄되는 것을 제외하고는 별개로 작동합니다 (실제 데이터에는 수백 개의 파일이 있고 읽기 쉽습니다). 고맙습니다 :). 1.bam
1.vcf
bash에서는 프로그램 (gollum)을 시작하고 stderr (포트 번호)의 일부를 다른 프로그램의 인수로 사용하려고합니다. stderr을 stdout으로 리디렉션하고 grep 및 sed를 사용하여 출력을 필터링합니다. 나는 표준 출력에 결과를 얻을 : 그것은 '56343'를 반환하고 골룸은 서버와 같이 계속 실행 gollum -p0 2>&1| sed -
질문 제목이 충분히 유익하지 않은 경우 유감입니다. 더 나은 변종을 제안 해 주시기 바랍니다. 다음 작업을 수행하고 싶습니다. 디렉토리에 JPEG 형식의 사진 인 여러 개의 파일이 있습니다. 그 사진을 찍은 날짜를 EXIF에서 추출하고 각 날짜에 대해 새 디렉토리를 만들고 관련 디렉토리로 파일을 이동하려고합니다. (EXIF 날짜와 시간의 형식은 YYYY:M