내용의 두 번째 줄을 통해 파일 이름을 변경합니다.

내용의 두 번째 줄을 통해 파일 이름을 변경합니다.

파일 이 있는데 Config.cfg파일 이름에 두 번째 줄의 값을 넣어서 이름을 바꾸고 싶습니다.

예:

$ more Config.cfg 
!
!  Configuration last changed by user '%LICM%' at Tue Jul  4 15:17:04 2017
!
!
!
global synchronization option 2

예상되는 결과:

Config Jul  4 15:17:04 2017.cfg

답변1

일방 통행:

  • sed를 사용하여 두 번째 줄을 추출합니다.
  • awk를 사용하여 후행 필드를 추출하고 주변 정적 텍스트를 인쇄합니다.
  • 성공하면 생성된 값을 사용하여 파일 이름을 바꿉니다.

암호:

val=$(sed -n 2p Config.cfg | 
      awk '{print "Config " $(NF-3) " " $(NF-2) " " $(NF-1) " " $NF ".cfg"}')
[[ -n "$val" ]] && mv Config.cfg "$val"

답변2

sed파일 이름을 추출한 경우에만 :

mv file "$(sed -n '/Configuration/s/.*at [^ ]*/Config/p' file)"

관련 정보