cURL을 사용하여 쉼표와 공백이 포함된 숫자 문자열을 가져와 COMAFIED가 아닌 문자열로 변환하는 방법

cURL을 사용하여 쉼표와 공백이 포함된 숫자 문자열을 가져와 COMAFIED가 아닌 문자열로 변환하는 방법

예: Google은 670,000,000주의 미발행 주식을 보유하고 있습니다. 이 값은 다음 스크립트를 사용하여 Yahoo Finance API의 txt 파일에서 수집됩니다.

문제는 작업을 완료하기 위해 이 txt 파일을 Excel로 드래그할 때 텍스트 마법사와 Excel에서 쉼표나 공백으로 숫자를 구분하는 것이 거의 불가능하다는 것입니다.

즉, 구분 기호는 670,000,000을 다음으로 나누고 싶어합니다.값을 분리하여 분산시킵니다.그 칼럼은 농담이었고 내 일을 헛되게 만들었습니다.

따라서 원래 쉼표와 공백이 포함된 모든 숫자 문자열을 이를 사용하지 않고 txt 파일로 다시 가져오려면 예상되는 스크립트가 필요합니다. 즉, 쉼표나 공백이 없습니다.

따라서 670,000,000을 txt 파일에 넣는 대신 Excel의 오래된 구분 기호가 데이터를 열에 올바르게 렌더링할 수 있도록 670000000이 필요합니다.

나는 이 질문을 여기서 네 번이나 했는데 그때마다 슈퍼유저가 제공한 코드가 작동하지 않습니다.

cd desktop/quoteUpdate
while true
do
  curl -o quotes.txt -s "http://download.finance.yahoo.com/d/quotes.csv?s=goog,aapl&f=nsl1j2"
echo UPDATED:
date
sleep 10
Done

답변1

sed명령 뒤에 명령을 추가하여 curl숫자 내의 쉼표를 바꿀 수 있습니다 .

cd desktop/quoteUpdate
while true
do
  curl -o quotes.txt -s "http://download.finance.yahoo.com/d/quotes.csv?s=goog,aapl&f=nsl1j2"
  sed -i -E 's:([0-9]),([0-9]):\1\2:g' quotes.txt
echo UPDATED:
date
sleep 10
Done

결과는 다음과 같습니다:

"Google Inc.","GOOG",508.08,   678365000
"Apple Inc.","AAPL",105.99,  5864839000

여기에 이미지 설명을 입력하세요.

관련 정보