XML 파일의 이름을 속성 값으로 바꾸는 BASH 스크립트

토미카 코락

내가 가진 많은.xml파일이 동일한 방식으로 구성 :

<parent id="idvalue" attr1="val1" attr2="val2" ...>
    <child attr3="val3" attr4="val4" ... />
    <child attr3="val5" attr4="val6" ... />
    ...
</parent>

각 파일에는 정확히 <parent>하나의 id속성을 가진 정확히 하나의 요소가 있습니다.

이러한 모든 파일 (거의 1,700,000 개)은 part.xxxxx로 이름이 지정됩니다. 여기서 xxxxx는 임의의 숫자입니다.

파일 콘텐츠 idvalue.xml의 유일한 id속성 에 따라 각 파일의 이름을으로 지정하고 싶습니다 .

bash 스크립트로 수행하는 것이 가장 빠르고 자동화 된 방법이라고 생각합니다. 그러나 다른 제안이 있으면 듣고 싶습니다.

내 주요 문제는 idvalue특정 파일에서 를 가져올 수 없다는 것입니다 (방법을 모릅니다) . 그래서 mv file.xxxxx idvalue.xml명령 과 함께 사용할 수 있습니다 .

hek2mgl

먼저 다음을 사용하여 xml 파일을 반복합니다 find.

find -maxdepth 1 -name 'part*.xml' -exec ./rename_xml.sh {} \;

위의 줄 rename_xml.sh은 모든 xml 파일에 대해 실행 되며 파일 이름을 명령 인수로 스크립트에 전달합니다.

rename_xml.sh 다음과 같아야합니다.

#!/bin/bash

// Get the id using XPath. You might probably need 
// to install xmllint for that if it is not already present.
// The xpath query will return a string like this (try it!):
//
//     id="idvalue"
//
// We are using sed to extract the value from  that
id=$(xmllint --xpath '//parent/@id' "$1" | sed -r 's/[^"]+"([^"]+).*/\1/')
mv -v "$1" "$id.xml"

잊지 마세요

chmod +x rename_xml.sh

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ant는 XML 파일의 속성 이름으로 속성 값을 바꿉니다.

분류에서Dev

소개 된 이름으로 파일을 생성하는 Bash 스크립트

분류에서Dev

크기에 따라 파일 이름을 바꾸는 Bash 스크립트

분류에서Dev

파일을 찾고, 처리하고, 이름을 바꾸는 Bash 스크립트?

분류에서Dev

xml 속성 값을 가져 오는 xml 자바 스크립트

분류에서Dev

텍스트 파일의 템플릿 변수를 bash 스크립트의 데이터로 바꾸는 방법

분류에서Dev

XML을 기반으로 Bash 이름 바꾸기 파일

분류에서Dev

bash 스크립트에서 파일 이름을 하나씩 바꾸는 방법

분류에서Dev

파일로 일련의 명령을 수행하는 bash 스크립트 작성

분류에서Dev

접미사가있는 일부 파일의 이름을 바꾸는 Bash 스크립트

분류에서Dev

Bash, 스크립트에서 여러 폴더의 파일 이름을 바꾸는 방법은 무엇입니까?

분류에서Dev

파일을 검색하고, 이름을 바꾸고, 바꿀 수있는 bash 스크립트를 어떻게 작성합니까?

분류에서Dev

자바 스크립트에서 XML 파일의 값 바꾸기

분류에서Dev

bash 스크립트 또는 명령 줄 한 줄을 사용하여 Linux에서 대량으로 파일 이름 바꾸기

분류에서Dev

bash 스크립트를 사용하여 파일 이름의 특정 문자 만 대문자로 바꾸기

분류에서Dev

파일 이름 바꾸기 bash 스크립트 자동화

분류에서Dev

bash 스크립트에서 파일 이름 바꾸기

분류에서Dev

bash 스크립트에서 파일 이름 바꾸기

분류에서Dev

파일 이름 바꾸기 Bash 스크립트-루프 문제

분류에서Dev

xml 파일을 읽고 속성 파일을 만드는 perl 스크립트

분류에서Dev

Linux 스크립트에서 가져온 값을 XML 파일의 값으로 만드는 방법

분류에서Dev

현재 날짜 및 파일 이름 패턴을 기반으로 파일을 식별하는 bash 스크립트

분류에서Dev

파일을 로컬 컴퓨터에 저장 한 후 자동으로 이름을 바꾸는 스크립트?

분류에서Dev

bash : 'cat'파일 이후의 모든 변수 이름을 값으로 바꾸는 방법은 무엇입니까?

분류에서Dev

다른 속성을 기반으로 bash 스크립트에서 XML 속성 추출

분류에서Dev

node.js 스크립트로 파일 이름의 일부 이름 바꾸기

분류에서Dev

현재 타임 스탬프로 데이터베이스 이름을 바꾸는 bash 스크립트

분류에서Dev

이름을 기반으로 새 폴더에 파일을 복사하는 bash 스크립트를 작성하려면 어떻게해야합니까?

분류에서Dev

폴더의 모든 파일을 처리하고 모든 출력을 동일한 파일 이름으로 다른 폴더에 저장하는 Bash 스크립트?

Related 관련 기사

  1. 1

    Ant는 XML 파일의 속성 이름으로 속성 값을 바꿉니다.

  2. 2

    소개 된 이름으로 파일을 생성하는 Bash 스크립트

  3. 3

    크기에 따라 파일 이름을 바꾸는 Bash 스크립트

  4. 4

    파일을 찾고, 처리하고, 이름을 바꾸는 Bash 스크립트?

  5. 5

    xml 속성 값을 가져 오는 xml 자바 스크립트

  6. 6

    텍스트 파일의 템플릿 변수를 bash 스크립트의 데이터로 바꾸는 방법

  7. 7

    XML을 기반으로 Bash 이름 바꾸기 파일

  8. 8

    bash 스크립트에서 파일 이름을 하나씩 바꾸는 방법

  9. 9

    파일로 일련의 명령을 수행하는 bash 스크립트 작성

  10. 10

    접미사가있는 일부 파일의 이름을 바꾸는 Bash 스크립트

  11. 11

    Bash, 스크립트에서 여러 폴더의 파일 이름을 바꾸는 방법은 무엇입니까?

  12. 12

    파일을 검색하고, 이름을 바꾸고, 바꿀 수있는 bash 스크립트를 어떻게 작성합니까?

  13. 13

    자바 스크립트에서 XML 파일의 값 바꾸기

  14. 14

    bash 스크립트 또는 명령 줄 한 줄을 사용하여 Linux에서 대량으로 파일 이름 바꾸기

  15. 15

    bash 스크립트를 사용하여 파일 이름의 특정 문자 만 대문자로 바꾸기

  16. 16

    파일 이름 바꾸기 bash 스크립트 자동화

  17. 17

    bash 스크립트에서 파일 이름 바꾸기

  18. 18

    bash 스크립트에서 파일 이름 바꾸기

  19. 19

    파일 이름 바꾸기 Bash 스크립트-루프 문제

  20. 20

    xml 파일을 읽고 속성 파일을 만드는 perl 스크립트

  21. 21

    Linux 스크립트에서 가져온 값을 XML 파일의 값으로 만드는 방법

  22. 22

    현재 날짜 및 파일 이름 패턴을 기반으로 파일을 식별하는 bash 스크립트

  23. 23

    파일을 로컬 컴퓨터에 저장 한 후 자동으로 이름을 바꾸는 스크립트?

  24. 24

    bash : 'cat'파일 이후의 모든 변수 이름을 값으로 바꾸는 방법은 무엇입니까?

  25. 25

    다른 속성을 기반으로 bash 스크립트에서 XML 속성 추출

  26. 26

    node.js 스크립트로 파일 이름의 일부 이름 바꾸기

  27. 27

    현재 타임 스탬프로 데이터베이스 이름을 바꾸는 bash 스크립트

  28. 28

    이름을 기반으로 새 폴더에 파일을 복사하는 bash 스크립트를 작성하려면 어떻게해야합니까?

  29. 29

    폴더의 모든 파일을 처리하고 모든 출력을 동일한 파일 이름으로 다른 폴더에 저장하는 Bash 스크립트?

뜨겁다태그

보관