루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

이린

누락 된 파일에 대한 관련 질문이 mv내 질문에 대한 답변으로 나타나지 않습니다. 다음 명령은 파일이있는 작업 디렉토리 내에서 실행되어 파일이 누락되었습니다.


1 단계

다음으로 $layers만든 정렬 된 파일 이름 배열이 있습니다 layers=$(ls cropped* | sort -nk1.9).

IFS=$'\n';for file in $layers; do echo $file; done  
cropped_1.png  
cropped_2-a.png  
cropped_2-b.png    
cropped_2.png  
cropped_3-a.png  
cropped_3-b.png  
cropped_3.png  
cropped_4-a.png  
cropped_4-b.png  
cropped_4-c.png  
cropped_4-d.png  
cropped_4-e.png  
cropped_4-f.png  
cropped_4-g.png  
cropped_4.png  
cropped_5-a.png  
cropped_5-b.png  
cropped_5.png  
--More--

2 단계

다음 루프를 실행하여 각 파일 이름에서 _ 다음의 모든 항목을 교체했습니다.

i=1;IFS=$'\n';for file in $layers; do echo ${file/#*_*/cropped_$((i++)).png}; done  
cropped_1.png
cropped_2.png
cropped_3.png
cropped_4.png
cropped_5.png
cropped_6.png
cropped_7.png
cropped_8.png
cropped_9.png
cropped_10.png
cropped_11.png
cropped_12.png
cropped_13.png
cropped_14.png
cropped_15.png
cropped_16.png
cropped_17.png
--More--

3 단계-위험, 윌 로빈슨!

이것은 지금까지 좋아 보였다. 나는 각 파일의 이름을 변경하려고 시도 그래서 mv내가 좋아하는 뭔가를 초래 하리라는 예상되는 다음과 같은 루프를 사용하여 mv cropped_2-a.png cropped_2.png다음 mv cropped_2-b.png cropped_3.png등 :

i=1;IFS=$'\n';for file in $layers; do mv $file ${file/#*_*/cropped_$((i++)).png}; done

이로 인해 첫 번째 파일에 대해 단일 오류가 발생했습니다.

mv : 'cropped_1.png'와 'cropped_1.png'는 같은 파일입니다.

mv SOURCE DEST일치하는 각 파일 이름에 대해이 오류가 발생한다고 가정했습니다 . 대신 루프의 첫 번째 파일에만 오류가 발생했습니다.

이상한 부분은 이제 많은 파일이 누락되었다는 것입니다. 남은 파일은 다음과 같습니다.

ls cropped* | sort -nk1.9
cropped_1.png
cropped_141.png
cropped_142.png
cropped_143.png
cropped_144.png
cropped_145.png
cropped_146.png
cropped_147.png
cropped_148.png
cropped_149.png
cropped_150.png
cropped_151.png
cropped_152.png
cropped_153.png
cropped_154.png
cropped_155.png

질문

누락 된 파일은 어디로 이동 했습니까?

cropped_2-a.png총 155 개의 파일을 생성하는 것과 같은 이름으로 몇 개의 중복 파일을 만들기 전에는 140 개의 파일이있었습니다 . 141-155 파일이 성공적으로 이동 된 경우 파일 2-140은 어디에 있습니까? 예상 된 목적지로 이동하지 않는 이유는 무엇입니까? 현재 작업 디렉토리?


노트

와 같은 이름을 가진 파일을 추가하지 않으면 cropped_2-a.png루프가 각 파일에 대한 오류 메시지를 표시하고 파일은 변경되지 않습니다.

i=1;IFS=$'\n';for file in $layers; do mv $file ${file/#*_*/cropped_$((i++)).png}; done
mv: ‘cropped_1.png’ and ‘cropped_1.png’ are the same file
mv: ‘cropped_2.png’ and ‘cropped_2.png’ are the same file
mv: ‘cropped_3.png’ and ‘cropped_3.png’ are the same file
mv: ‘cropped_4.png’ and ‘cropped_4.png’ are the same file
mv: ‘cropped_5.png’ and ‘cropped_5.png’ are the same file
--More--

나는 cropped_2a.png(no -)와 같은 파일 이름으로 테스트 했으며 누락 된 파일 문제를 복제합니다.

mv -v무슨 일이 일어나고 있는지 확인 하려고 할 때 예상대로 파일 이름을 바꾸는 것처럼 보이지만 확인하면 파일이 누락되었습니다. 매개 변수 대체 1 ${file/#*_*/cropped_$((i++)).png} 을 큰 따옴표로 묶어도이 문제가 해결되지 않습니다.

i=1;IFS=$'\n';for file in $layers; do mv -v $file "${file/#*_*/cropped_$((i++)).png}"; done
‘cropped_2-a.png’ -> ‘cropped_2.png’
‘cropped_2-b.png’ -> ‘cropped_3.png’
‘cropped_2.png’ -> ‘cropped_4.png’
‘cropped_3-a.png’ -> ‘cropped_5.png’
‘cropped_3-b.png’ -> ‘cropped_6.png’
‘cropped_3.png’ -> ‘cropped_7.png’
‘cropped_4.png’ -> ‘cropped_8.png’
‘cropped_5.png’ -> ‘cropped_9.png’
‘cropped_6.png’ -> ‘cropped_10.png’
--More--

대상 mv인수로 매개 변수 대체를 사용하여 더 간단한 명령 테스트 :

testy="cropped_2-b.png"
mv -iv $testy ${testy/#*_*/cropped_999.png}

이것은 또한 작동합니다 :

i=998
testy="cropped_2-b.png"
mv -iv $testy ${testy/#*_*/cropped_$((i++)).png}

'cropped_2-b.png'-> 'cropped_998.png'

testy="cropped_3-a.png"
mv -iv $testy ${testy/#*_*/cropped_$((i++)).png}

'cropped_3-a.png'-> 'cropped_999.png'

동일한 파일 오류가 표시된 후 for 루프 동안 실패한 이유 또는 파일이 실제로 어디로 이동하는지 확인할 수 없었습니다.

Barmar

cropped_2-a.png이름이로 변경되었습니다 cropped_2.png. 이것은 원본 cropped_2.png. 그런 다음 2 줄 후에이 파일의 이름이 cropped_4.png.

이 문제를 피하는 가장 좋은 방법은 번호를 다시 매길 때 파일을 처음에는 비어있는 다른 디렉토리로 이동하는 것이므로 새 이름이 이전 이름과 충돌하는 것에 대해 걱정할 필요가 없습니다. 그런 다음 루프가 완료되면 이름이 바뀐 파일을 원래 디렉토리로 다시 이동할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

분류에서Dev

mv 명령 후 누락 된 파일

분류에서Dev

laravel에서 razorpay 응답 후 Route에 대한 필수 매개 변수 누락

분류에서Dev

"확장 된 기능에 대한 누락 된 매개 변수 유형"추적

분류에서Dev

Request.QueryString ( "returnURL")에서 누락 된 일부 매개 변수

분류에서Dev

$ stateParams에서 누락 된 매개 변수

분류에서Dev

SQL에 누락 된 매개 변수

분류에서Dev

[Word2Vec] [gensim] min_count 매개 변수를 사용하여 어휘에서 누락 된 단어 처리

분류에서Dev

Loadrunner-매개 변수가 파일에있을 때 매개 변수화 된 값 사용 및 인쇄

분류에서Dev

GCSFileSystem의 requests_timeout 매개 변수에 대한 문서 누락

분류에서Dev

왜 React 컴포넌트에 대한 유형 매개 변수를 지정한 후에도 linter가 props 유효성 검사에서 누락 된 '<property>'에 대해 불평하는 이유는 무엇입니까?

분류에서Dev

[Route : blalba.Destroy]에 대한 필수 매개 변수 누락

분류에서Dev

[Route : addapplication.edit]에 대한 필수 매개 변수 누락

분류에서Dev

경로에 대한 필수 매개 변수 누락

분류에서Dev

Swift를 사용하는 MKPolygon (호출에서 매개 변수 'interiorPolygons'에 대한 인수 누락)

분류에서Dev

GET 및 POST 매개 변수에 대한 단일 변수로 사용

분류에서Dev

bash 스크립트에서 cp 및 mv의 대상으로 명령 줄 매개 변수 사용

분류에서Dev

mlr에서 "학습자 매개 변수 누락에 대한 기본값으로 사용 된 NA"경고는 무엇을 의미합니까?

분류에서Dev

PhpStorm에서 누락 된 매개 변수 오류를 수정하는 방법

분류에서Dev

누락 된 경우 매개 변수 생성에서 정확한 오류를 반환하는 방법

분류에서Dev

코코아 포드를 제거한 후 누락 된 파일

분류에서Dev

OAuth2.0 redirect_uri에 대한 잘못된 매개 변수 값 : 스키마 누락

분류에서Dev

유형 삭제로 인해 확장 된 기능에 대한 매개 변수 유형이 누락 됨

분류에서Dev

findObjectsInBackgroundWithTarget을 사용할 때 호출에서 매개 변수 # 1에 대한 인수 누락

분류에서Dev

shutil.make_archive 후 .txt 파일에 누락 된 내용

분류에서Dev

자르기 및 대체에서 0이 누락 된 스크립트를 사용한 문자열 조작

분류에서Dev

DefaultTest.class 파일에서 swagger를 사용한 자동화 된 요청 매개 변수 생성

분류에서Dev

매개 변수 MVC를 사용하여 Json 개체 및 FormData (파일)를 컨트롤러에 게시

분류에서Dev

"mv 파일"및 이제 누락 됨

Related 관련 기사

  1. 1

    루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

  2. 2

    mv 명령 후 누락 된 파일

  3. 3

    laravel에서 razorpay 응답 후 Route에 대한 필수 매개 변수 누락

  4. 4

    "확장 된 기능에 대한 누락 된 매개 변수 유형"추적

  5. 5

    Request.QueryString ( "returnURL")에서 누락 된 일부 매개 변수

  6. 6

    $ stateParams에서 누락 된 매개 변수

  7. 7

    SQL에 누락 된 매개 변수

  8. 8

    [Word2Vec] [gensim] min_count 매개 변수를 사용하여 어휘에서 누락 된 단어 처리

  9. 9

    Loadrunner-매개 변수가 파일에있을 때 매개 변수화 된 값 사용 및 인쇄

  10. 10

    GCSFileSystem의 requests_timeout 매개 변수에 대한 문서 누락

  11. 11

    왜 React 컴포넌트에 대한 유형 매개 변수를 지정한 후에도 linter가 props 유효성 검사에서 누락 된 '<property>'에 대해 불평하는 이유는 무엇입니까?

  12. 12

    [Route : blalba.Destroy]에 대한 필수 매개 변수 누락

  13. 13

    [Route : addapplication.edit]에 대한 필수 매개 변수 누락

  14. 14

    경로에 대한 필수 매개 변수 누락

  15. 15

    Swift를 사용하는 MKPolygon (호출에서 매개 변수 'interiorPolygons'에 대한 인수 누락)

  16. 16

    GET 및 POST 매개 변수에 대한 단일 변수로 사용

  17. 17

    bash 스크립트에서 cp 및 mv의 대상으로 명령 줄 매개 변수 사용

  18. 18

    mlr에서 "학습자 매개 변수 누락에 대한 기본값으로 사용 된 NA"경고는 무엇을 의미합니까?

  19. 19

    PhpStorm에서 누락 된 매개 변수 오류를 수정하는 방법

  20. 20

    누락 된 경우 매개 변수 생성에서 정확한 오류를 반환하는 방법

  21. 21

    코코아 포드를 제거한 후 누락 된 파일

  22. 22

    OAuth2.0 redirect_uri에 대한 잘못된 매개 변수 값 : 스키마 누락

  23. 23

    유형 삭제로 인해 확장 된 기능에 대한 매개 변수 유형이 누락 됨

  24. 24

    findObjectsInBackgroundWithTarget을 사용할 때 호출에서 매개 변수 # 1에 대한 인수 누락

  25. 25

    shutil.make_archive 후 .txt 파일에 누락 된 내용

  26. 26

    자르기 및 대체에서 0이 누락 된 스크립트를 사용한 문자열 조작

  27. 27

    DefaultTest.class 파일에서 swagger를 사용한 자동화 된 요청 매개 변수 생성

  28. 28

    매개 변수 MVC를 사용하여 Json 개체 및 FormData (파일)를 컨트롤러에 게시

  29. 29

    "mv 파일"및 이제 누락 됨

뜨겁다태그

보관