Linux 데이터 분석 필수 사항: 9가지 실용적인 명령
데이터 분석은 오늘날 가장 인기 있는 기술 중 하나입니다. 이를 통해 의사 결정과 혁신을 지원하기 위해 방대한 양의 데이터에서 귀중한 정보를 추출할 수 있습니다. 그러나 효과적인 데이터 분석을 수행하려면 관련 이론과 방법을 숙지해야 할 뿐만 아니라 일부 도구와 플랫폼을 능숙하게 사용할 수 있어야 합니다. Linux 시스템은 데이터 분석가가 일반적으로 사용하는 운영 체제 중 하나이며 다양한 데이터 문제를 처리하는 데 도움이 되는 강력하고 유연한 명령을 많이 제공합니다. 이 기사에서는 Linux 시스템에서 데이터 분석에 일반적으로 사용되는 9가지 명령과 해당 기능 및 사용법을 소개합니다. Linux 초보자이든 베테랑이든 관계없이 이러한 명령을 사용하면 데이터 분석 작업이 더욱 효율적이고 편리해집니다.

1. 머리와 꼬리
먼저 파일 처리부터 시작해 보겠습니다. 파일 내용은 무엇입니까? 파일 형식은 무엇입니까? cat 명령을 사용하여 터미널에 파일을 표시할 수 있지만 내용이 긴 파일을 처리하는 데는 적합하지 않습니다.
파일에 지정된 줄 수를 완전히 표시할 수 있는 head와 tail을 입력하세요. 행 수를 지정하지 않으면 기본적으로 10개 행이 표시됩니다.
으아아아마지막 세 줄에서는 날짜, 저자 이름, 제목 및 기타 정보를 찾을 수 있었습니다. 하지만 열 헤더가 부족하여 각 열의 구체적인 의미를 알 수 없습니다. 아래에서 각 열의 특정 제목을 확인하세요.
으아아아이제 모든 것이 매우 명확해졌습니다. 발행일, 콘텐츠 유형, 작성자, 제목, 제출 수, 관련 URL, 각 기사의 태그 및 단어 수를 확인할 수 있습니다.
이、wc
하지만 수백, 심지어 수천 개의 기사를 분석해야 한다면 어떻게 해야 할까요? 여기서는 "단어 수"의 약어인 wc 명령을 사용해야 합니다. wc는 파일의 바이트, 문자, 단어 또는 줄을 계산할 수 있습니다. 이 예에서는 기사의 줄 수를 알고 싶습니다.
- $ wc -l jan2017articles.csv 93 jan2017articles.csv
이 파일은 총 93줄입니다. 첫 번째 줄에 파일 제목이 포함되어 있는 것을 보면 이 파일은 92개의 기사 목록이라고 추측할 수 있습니다.
3, grep
아래에 새로운 질문이 제기됩니다. 이 기사 중 보안 주제와 관련된 기사는 몇 개입니까? 목표를 달성하기 위해 필수 기사의 제목, 태그 또는 기타 위치에 보안이라는 단어가 언급될 것이라고 가정합니다. 이때 grep 도구를 사용하면 특정 문자로 파일을 검색하거나 다른 검색 패턴을 구현할 수 있습니다. 정규식을 사용하여 매우 정확한 일치 패턴을 만들 수도 있기 때문에 이는 매우 강력한 도구입니다. 하지만 여기서는 간단한 문자열만 찾으면 됩니다.
으아아아4 보안 관련 기사. 검색 범위가 더 구체적이라면 파이프를 사용할 수 있습니다. grep과 wc 명령을 결합하여 보안 내용이 언급된 행 수를 알아낼 수 있습니다.
으아아아이런 방식으로 wc는 grep 명령의 출력을 추출하여 입력으로 사용합니다. 약간의 쉘 스크립팅과 결합된 이 조합은 터미널을 즉시 강력한 데이터 분석 도구로 변환합니다.
넷, tr
대부분의 분석 시나리오에서는 CSV 파일을 접하게 됩니다. 그런데 다양한 적용 방법을 위해 이를 다른 형식으로 변환하려면 어떻게 해야 할까요? 여기서는 테이블을 통한 데이터 사용을 위해 HTML 형식으로 변환합니다. tr 명령은 이 목표를 달성하는 데 도움이 될 수 있으며, 한 유형의 문자를 다른 유형으로 변환할 수 있습니다. 마찬가지로, 파이프 명령을 사용하여 출력/입력 도킹을 달성할 수도 있습니다.
다음으로, 1월 20일에 게시된 기사만 포함하는 TSV(탭으로 구분된 값) 파일을 만드는 또 다른 다중 부분 예제를 시도해 보겠습니다.
으아아아먼저 날짜 쿼리에 grep을 사용합니다. 이 결과를 tr 명령에 연결하고 후자를 사용하여 모든 쉼표를 탭('/t'로 표시)으로 바꿉니다. 하지만 결과는 어디로 가나요? 여기서는 > 문자를 사용하여 결과를 화면이 아닌 새 파일에 출력합니다. 이러한 방식으로 dqywjan20only.tsv 파일에 예상 데이터가 포함되어 있는지 확인할 수 있습니다.
$ cat jan20only.tsv 20 Jan 2017 Article Kushal Das 5 ways to expand your project's contributor base 2 /article/17/1/expand-project-contributor-base Getting started 690 20 Jan 2017 Article D Ruth Bavousett How to write web apps in R with Shiny 2 /article/17/1/writing-new-web-apps-shiny Web development 218 20 Jan 2017 Article Jason Baker "Top 5: Shell scripting the Cinnamon Linux desktop environment and more" 0 /article/17/1/top-5-january-20 Top 5 214 20 Jan 2017 Article Tracy Miranda How is your community promoting diversity? 1 /article/17/1/take-action-diversity-tech Diversity and inclusion 1007
五、sort
如果我们先要找到包含信息最多的特定列,又该如何操作?假设我们需要了解哪篇文章包含最长的新文章列表,那么面对之前得出的1月20日文章列表,我们可以使用sort命令对列字数进行排序。在这种情况下,我们并不需要使用中间文件,而可以继续使用pipe。不过将长命令链拆分成较短的部分往往能够简化整个操作过程。
- ‘/t’ -k8 jan20only.tsv | head -n 1
- 20 Jan 2017 Article Tracy Miranda How is your community promoting diversity? 1 /article/17/1/take-action-diversity-tech Diversity and inclusion 1007
以上是一条长命令,我们尝试进行拆分。首先,我们使用sort命令对字数进行排序。-nr选项告知sort以数字排序,并将结果进行反向排序(由大到小)。此后的-t则告知其中的分隔符为。其中的要求此shell为一条需要处理的字符串,并将/n返回为tab。而-k8部分则告知sort命令使用第八列,即本示例中进行字数统计的目标列。
最后,输出结果被pipe至head,处理后在结果中显示此文件中包含最多字数的文章标题。
六、sed
大家可能还需要在文件中选择特定某行。这里可以使用sed。如果希望将全部包含标题的多个文件加以合并,并只为整体文件显示一组标题,即需要清除额外内容; 或者希望只提取特定行范围,同样可以使用sed。另外,sed还能够很好地完成批量查找与替换任务。
下面立足之前的文章列表创建一个不含标题的新文件,用于同其他文件合并(例如我们每月都会定期生成某个文件,现在需要将各个月份的内容进行合并)。
- $ sed ‘1 d’ jan2017articles.csv > jan17no_headers.csv
其中的“1 d”选项要求sed删除第一行。
七、cut
了解了如何删除行,那么我们该如何删除列?或者说如何只选定某一列?下面我们尝试为之前生成的列表创建一份新的作者清单。
- $ cut -d’,’ -f3 jan17no_headers.csv > authors.txt
在这里,通过cut与-d相配合代表着我们需要第三列(-f3),并将结果发送至名为authors.txt的新文件。
八、uniq
作者清单已经完成,但我们要如何知悉其中包含多少位不同的作者?每位作者又各自编写了多少篇文章?这里使用unip。下面我们对文件进行sort排序,找到唯一值,而后计算每位作者的文章数量,并用结果替换原本内容。
- sort authors.txt | uniq -c > authors.txt
现在已经可以看到每位作者的对应文章数,下面检查最后三行以确保结果正确。
- $ tail -n3 authors-sorted.txt
- 1 Tracy Miranda
- 1 Veer Muchandi
- 3 VM (Vicky) Brasseur
九、awk
最后让我们了解最后一款工具,awk。awk是一款出色的替换性工具,当然其功能远不止如此。下面我们重新回归1月12日文章列表TSV文件,利用awk创建新列表以标明各篇文章的作者以及各作者编写的具体字数。
- $ awk -F “/t” '{print NF}' jan20only.tsv
- 쿠샬 다스 690
- D 루스 바부세트 218
- 제이슨 베이커 214
- 트레이시 미란다 1007
-F "/t"는 awk에게 현재 탭으로 구분된 데이터를 처리하고 있음을 알리는 데 사용됩니다. 중괄호 안에 실행 코드가 포함된 awk를 제공합니다. 는 세 번째 줄을 출력한다는 의미이고, NF는 마지막 줄(즉, '필드 수'의 약어)을 출력하고 명확한 구분을 위해 두 결과 사이에 공백을 두 개 추가한다는 의미입니다.
여기에 나열된 예제는 규모가 작고 위 도구를 사용할 필요가 없어 보이지만 93,000줄을 포함하는 파일로 범위를 확장하면 스프레드시트 프로그램을 사용하여 처리하기가 분명히 어렵습니다.
이러한 간단한 도구와 작은 스크립트를 사용하면 데이터베이스 도구를 사용하지 않고 대량의 데이터 통계 작업을 쉽게 완료할 수 있습니다. 프로든 아마추어든 그 역할은 무시할 수 없습니다.
이 글을 통해 Linux 시스템에서 데이터 분석에 흔히 사용되는 9가지 명령어와 그 기능 및 사용법에 대해 알아보았습니다. 이러한 명령은 파일 작업, 디렉터리 관리, 출력 리디렉션, 파이프, 링크 등을 다루며 Linux 시스템에서 다양한 데이터 처리 및 분석을 수행하는 데 도움이 될 수 있습니다. 물론 이러한 명령은 Linux 시스템에서 제공하는 많은 명령 중 일부일 뿐입니다. Linux 시스템과 데이터 분석에 대해 더 자세히 알아보고 싶다면 계속 탐색하고 연습해야 합니다. 이 기사가 귀하의 연구와 업무에 도움이 되기를 바랍니다. 또한 귀하가 사용하거나 발견한 다른 실용적인 Linux 명령을 공유하는 것도 환영합니다.
위 내용은 Linux 데이터 분석 필수 사항: 9가지 실용적인 명령의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

Nginx 서버를 시작하려면 다른 운영 체제에 따라 다른 단계가 필요합니다. Linux/Unix System : Nginx 패키지 설치 (예 : APT-Get 또는 Yum 사용). SystemCTL을 사용하여 nginx 서비스를 시작하십시오 (예 : Sudo SystemCtl start nginx). Windows 시스템 : Windows 바이너리 파일을 다운로드하여 설치합니다. nginx.exe 실행 파일을 사용하여 nginx를 시작하십시오 (예 : nginx.exe -c conf \ nginx.conf). 어떤 운영 체제를 사용하든 서버 IP에 액세스 할 수 있습니다.

서버는 요청 된 리소스에 액세스 할 수있는 권한이 없으므로 Nginx 403 오류가 발생합니다. 솔루션에는 다음이 포함됩니다. 파일 권한 확인 권한을 확인하십시오. .htaccess 구성을 확인하십시오. nginx 구성을 확인하십시오. Selinux 권한을 구성하십시오. 방화벽 규칙을 확인하십시오. 브라우저 문제, 서버 장애 또는 기타 가능한 오류와 같은 다른 원인을 해결하십시오.

Nginx 403 금지 된 오류를 수정하는 방법은 무엇입니까? 파일 또는 디렉토리 권한을 확인합니다. 2. 확인 파일을 확인하십시오. 3. nginx 구성 파일 확인; 4. nginx를 다시 시작하십시오. 다른 가능한 원인으로는 방화벽 규칙, Selinux 설정 또는 응용 프로그램 문제가 있습니다.

질문에 대한 답변 : 304 수정되지 않은 오류는 브라우저가 클라이언트 요청의 최신 리소스 버전을 캐시했음을 나타냅니다. 솔루션 : 1. 브라우저 캐시를 지우십시오. 2. 브라우저 캐시를 비활성화합니다. 3. 클라이언트 캐시를 허용하도록 nginx를 구성합니다. 4. 파일 권한을 확인하십시오. 5. 파일 해시를 확인하십시오. 6. CDN 또는 리버스 프록시 캐시를 비활성화합니다. 7. nginx를 다시 시작하십시오.

Linux에서는 다음 명령을 사용하여 nginx가 시작되었는지 확인하십시오. SystemCTL 상태 Nginx 판사 명령 출력에 따라 : "active : running"이 표시되면 Nginx가 시작됩니다. "Active : 비활성 (죽음)"이 표시되면 Nginx가 중지됩니다.

오류 로그는/var/log/nginx (linux) 또는/usr/local/var/log/nginx (macOS)에 있습니다. 명령 줄을 사용하여 단계를 정리하십시오. 1. 원래 로그를 백업하십시오. 2. 빈 파일을 새 로그로 만듭니다. 3. Nginx 서비스를 다시 시작하십시오. 자동 청소는 Logrotate 또는 구성과 같은 타사 도구와 함께 사용할 수도 있습니다.
