인라인 구분 기호를 사용하여 라인을 n번 반복합니다.

인라인 구분 기호를 사용하여 라인을 n번 반복합니다.

인라인 구분 기호를 사용하여 해당 줄을 n번 반복하고 싶습니다(즉, 추가 줄이 생성되지 않음). 예를 들어, 두 줄이 포함된 example.csv 파일의 경우

0.1\r\n
0.2\r\n

n=3이고 구분 기호로 쉼표를 사용한 결과는 다음과 같습니다.

0.1,0.1,0.1\r\n
0.2,0.2,0.2\r\n

n=2로 붙여넣기 명령을 사용해 보았습니다.

paste -d, example.csv example.csv

그러나 EOL도 붙여넣어졌습니다.

0.1\r,0.1\r\n
0.2\r,0.2\r\n

답변1

줄 끝을 수정한 후

dos2unix example.csv

printf파일 이름을 n여러 번 반복 할 수 있습니다 .

paste -d, $(printf 'example.csv %.0s' {1..10})

또는 $n변수 인 경우 seq중괄호 확장 대신 사용합니다.

paste -d, $(printf 'example.csv %.0s' $(seq 1 $n))

(통과하다)

답변2

줄 끝을 그대로 유지할 필요가 없고 이를 유닉스 스타일로 변환할 수 있다고 가정하고 다음을 수행합니다.

dos2unix file

두 번째 단계에서는 다음을 사용합니다 awk.

awk '{for(i=1;i<=3;i++){if(i>1)printf ",";printf $0};printf "\n"}'

awk는 루프에서 문자열을 구성하고 i<=3문자열의 일부를 지정된 횟수만큼 반복합니다.

if,반복 사이에만 시간이 있는지 확인해야 합니다 .

최종 결과는 유닉스 스타일 출력이 됩니다. 필요한 경우 다시 dos로 변환할 수 있습니다 unix2dos.

관련 정보