![여러 파일의 중간 이름을 한 번에 변경하는 방법은 무엇입니까?](https://linux55.com/image/208651/%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%A4%91%EA%B0%84%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%ED%95%9C%20%EB%B2%88%EC%97%90%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
예를 들어 190개의 파일이 있는데 L001
중간에 추가하고 싶습니다. 더 나은 경우 cmd 명령이나 PowerShell을 사용하여 이 작업을 어떻게 수행할 수 있나요? 또한 어떤 숫자는 2자리이고 어떤 숫자는 1자리입니다.
PP-SD01_S1_R1.fastq.gz
PP-SD05_S1_R2.fastq.gz
PP-SD09_S20_R1.fastq.gz
PP-SD025_S20_R2.fastq.gz
PP-SD039_S22_R1.fastq.gz
PP-SD039_S22_R2.fastq.gz
...
L001
와 사이에 각각 추가하고 싶습니다 . 예를 들어S..
..R
PP-SD039_S22_L001_R1.fastq.gz
답변1
정규식을 사용하여 및 부분을 일치시키고 S...
그 사이에 R...
삽입하십시오 .L001
PS /tmp> Get-ChildItem -File -Filter *.fastq.gz | Rename-Item -NewName { $_.Name -replace '(S\d+)_(R\d+)', '$1_L001_$2' } -WhatIf
What if: Performing the operation "Rename File" on target "Item: /tmp/PP-SD01_S1_R1.fastq.gz Destination: /tmp/PP-SD01_S1_L001_R1.fastq.gz".
What if: Performing the operation "Rename File" on target "Item: /tmp/PP-SD025_S20_R2.fastq.gz Destination: /tmp/PP-SD025_S20_L001_R2.fastq.gz".
What if: Performing the operation "Rename File" on target "Item: /tmp/PP-SD039_S22_R1.fastq.gz Destination: /tmp/PP-SD039_S22_L001_R1.fastq.gz".
What if: Performing the operation "Rename File" on target "Item: /tmp/PP-SD039_S22_R2.fastq.gz Destination: /tmp/PP-SD039_S22_L001_R2.fastq.gz".
What if: Performing the operation "Rename File" on target "Item: /tmp/PP-SD05_S1_R2.fastq.gz Destination: /tmp/PP-SD05_S1_L001_R2.fastq.gz".
What if: Performing the operation "Rename File" on target "Item: /tmp/PP-SD09_S20_R1.fastq.gz Destination: /tmp/PP-SD09_S20_L001_R1.fastq.gz".
PS /tmp>
더 짧은 버전:
dir *.fastq.gz | ren -Ne { $_.Name -replace '(S\d+)_(R\d+)', '$1_L001_$2' } -wi
이름이 올바른지 확인한 후 제거 -WhatIf
/ -wi
실제 이름 바꾸기를 수행합니다.