(bash 스크립팅) 파일에서 'n'의 배수 위치에있는 줄을 정렬하는 방법은 무엇입니까?

세르지오 레이

우분투 리눅스에서 bash 언어로 스크립트를 프로그래밍해야합니다. 명령 줄에서 세 가지 인수를 가져야합니다. 먼저 정렬해야하는 파일의 이름, 두 번째 문자 (알파벳순으로 정렬하려면 'a') 오름차순 또는 알파벳 내림차순으로 정렬하려면 'z'), 세 번째는 양수 'n'입니다. 'n'의 배수 인 줄만 정렬해야합니다. 예를 들어, 100 줄이고 n = 5 인 텍스트 파일이있는 경우 5,10,15, ..., 100 줄만 정렬해야하고 나머지는 그대로 유지해야합니다. 할 수 있습니까? 다음과 같이 'n'의 배수 인 줄을 찾아 정렬 할 수 있습니다.

awk "NR%$n==0" archivo.txt | sort -f 

하지만 지금은이 줄을 파일에 다시 쓰는 방법을 모르겠습니다.

관심을 가져 주셔서 감사합니다

고티

전체 입력 파일을 메모리에 던져 넣어 줄 부분을 인쇄하기 전에 정렬 할 수 있다면 gawk를 사용할 수 있습니다.

#!/usr/bin/env gawk -f

BEGIN {
  if (!inc) inc=5              # set a default
}

NR%inc {
  # This is a normal line
  nosort[NR]=$0
  next
}

{
  # This is an increment of "inc"
  tosort[NR]=$0
}

END {
  # Sort the array of increments
  asort(tosort)

  # Step through our two arrays, picking what to print based on the modulo
  n=0
  for (i=1; i<NR; i++)
    if (i%inc==0)
      print tosort[++n]
    else
      print nosort[i]
}

다음과 같이 실행할 수 있습니다.

$ ./sortthing -v inc=5 inputfile

이것은 asort()One True Awk에 존재하지 않는 gawk 함수를 사용합니다 . 따라서 * BSD 또는 OS X에서이 작업을 수행하는 경우 추가 도구를 설치해야 할 수 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

출력 파일의 각 줄을 동일한 bash 스크립트의 for 루프에 인수로 전달하는 방법은 무엇입니까?

분류에서Dev

1 개의 긴 줄에서 더 나은 방법으로 bash 스크립팅을 개선하는 방법은 무엇입니까?

분류에서Dev

Bash 스크립팅-OpenVPN의 여러 입력에 출력을 전달하는 방법은 무엇입니까?

분류에서Dev

파일의 각 줄을 스크립트에 인수로 전달하는 방법은 무엇입니까?

분류에서Dev

Bash 스크립트를 사용하여 3 개의 폴더에 파일을 무작위로 배포하는 방법은 무엇입니까?

분류에서Dev

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

분류에서Dev

UNIX에서 일부 스크립팅을 사용하여 파일의 텍스트 줄에 누락 된 문자를 추가하는 방법은 무엇입니까?

분류에서Dev

bat 스크립트의 변수에있는 상위 폴더에서 하위 폴더와 파일을 삭제하는 방법은 무엇입니까?

분류에서Dev

bash 파일의 경로를 찾을 수 없을 때 NS2에서 tcl 스크립트를 실행하는 방법은 무엇입니까?

분류에서Dev

스크립팅 : 매우 특별한 방식으로 파일의 줄을 바꿉니다. powershell로 수행하는 방법은 무엇입니까?

분류에서Dev

Bash 스크립트에서 한 줄씩 파일을 읽는 방법은 무엇입니까?

분류에서Dev

bash 스크립트의 변수에 "which"명령의 출력을 저장하는 방법은 무엇입니까?

분류에서Dev

Bash에서 날짜 범위 내에서 파일의 줄을 계산하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 변수 값의 정수 부분으로 배열을 정렬하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 변수 값의 정수 부분으로 배열을 정렬하는 방법은 무엇입니까?

분류에서Dev

BASH 스크립트 : 명령 출력의 각 줄을 배열의 값에 할당하는 방법은 무엇입니까?

분류에서Dev

Perl 수정 내용을 Python 스크립트의 파일에 작성하는 방법은 무엇입니까?

분류에서Dev

BASH의 파일에서 일치하는 항목을 찾은 후 위의 두 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

배열의 모든 값을 bash 스크립트에서 하나씩 인수로 전달하는 방법은 무엇입니까?

분류에서Dev

여러 파일을 Bash 스크립트에 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

Ubuntu에서 bash 스크립팅에서 commndline 인수를 분리하는 방법은 무엇입니까?

분류에서Dev

동일한 div에 서로 다른 크기가 정렬 된 두 개의 수평선을 하나씩 배치하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트를 사용하여 파일의 지정된 줄에 파일 경로를 추가하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트를 사용하여 파일의 지정된 줄에 파일 경로를 추가하는 방법은 무엇입니까?

분류에서Dev

내 bash 스크립트가 cron에서 실행되는 clamscan에 대한 로그 파일을 만들 수 있도록하는 방법은 무엇입니까?

분류에서Dev

Bash 스크립팅에서! $는 무엇을 의미합니까?

분류에서Dev

동적 입력 매개 변수를 사용하여 BASH에서 StdIn의 스크립트로 파이썬을 호출하는 방법은 무엇입니까?

분류에서Dev

Bash의 파일에서 여러 명령 줄 인수를 호출하는 방법은 무엇입니까?

분류에서Dev

bash 쉘 스크립트에서 찾은 줄과 줄을 인쇄하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    출력 파일의 각 줄을 동일한 bash 스크립트의 for 루프에 인수로 전달하는 방법은 무엇입니까?

  2. 2

    1 개의 긴 줄에서 더 나은 방법으로 bash 스크립팅을 개선하는 방법은 무엇입니까?

  3. 3

    Bash 스크립팅-OpenVPN의 여러 입력에 출력을 전달하는 방법은 무엇입니까?

  4. 4

    파일의 각 줄을 스크립트에 인수로 전달하는 방법은 무엇입니까?

  5. 5

    Bash 스크립트를 사용하여 3 개의 폴더에 파일을 무작위로 배포하는 방법은 무엇입니까?

  6. 6

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

  7. 7

    UNIX에서 일부 스크립팅을 사용하여 파일의 텍스트 줄에 누락 된 문자를 추가하는 방법은 무엇입니까?

  8. 8

    bat 스크립트의 변수에있는 상위 폴더에서 하위 폴더와 파일을 삭제하는 방법은 무엇입니까?

  9. 9

    bash 파일의 경로를 찾을 수 없을 때 NS2에서 tcl 스크립트를 실행하는 방법은 무엇입니까?

  10. 10

    스크립팅 : 매우 특별한 방식으로 파일의 줄을 바꿉니다. powershell로 수행하는 방법은 무엇입니까?

  11. 11

    Bash 스크립트에서 한 줄씩 파일을 읽는 방법은 무엇입니까?

  12. 12

    bash 스크립트의 변수에 "which"명령의 출력을 저장하는 방법은 무엇입니까?

  13. 13

    Bash에서 날짜 범위 내에서 파일의 줄을 계산하는 방법은 무엇입니까?

  14. 14

    자바 스크립트에서 변수 값의 정수 부분으로 배열을 정렬하는 방법은 무엇입니까?

  15. 15

    자바 스크립트에서 변수 값의 정수 부분으로 배열을 정렬하는 방법은 무엇입니까?

  16. 16

    BASH 스크립트 : 명령 출력의 각 줄을 배열의 값에 할당하는 방법은 무엇입니까?

  17. 17

    Perl 수정 내용을 Python 스크립트의 파일에 작성하는 방법은 무엇입니까?

  18. 18

    BASH의 파일에서 일치하는 항목을 찾은 후 위의 두 줄을 제거하는 방법은 무엇입니까?

  19. 19

    배열의 모든 값을 bash 스크립트에서 하나씩 인수로 전달하는 방법은 무엇입니까?

  20. 20

    여러 파일을 Bash 스크립트에 변수로 전달하는 방법은 무엇입니까?

  21. 21

    Ubuntu에서 bash 스크립팅에서 commndline 인수를 분리하는 방법은 무엇입니까?

  22. 22

    동일한 div에 서로 다른 크기가 정렬 된 두 개의 수평선을 하나씩 배치하는 방법은 무엇입니까?

  23. 23

    bash 스크립트를 사용하여 파일의 지정된 줄에 파일 경로를 추가하는 방법은 무엇입니까?

  24. 24

    bash 스크립트를 사용하여 파일의 지정된 줄에 파일 경로를 추가하는 방법은 무엇입니까?

  25. 25

    내 bash 스크립트가 cron에서 실행되는 clamscan에 대한 로그 파일을 만들 수 있도록하는 방법은 무엇입니까?

  26. 26

    Bash 스크립팅에서! $는 무엇을 의미합니까?

  27. 27

    동적 입력 매개 변수를 사용하여 BASH에서 StdIn의 스크립트로 파이썬을 호출하는 방법은 무엇입니까?

  28. 28

    Bash의 파일에서 여러 명령 줄 인수를 호출하는 방법은 무엇입니까?

  29. 29

    bash 쉘 스크립트에서 찾은 줄과 줄을 인쇄하는 방법은 무엇입니까?

뜨겁다태그

보관