`
cakin24
  • 浏览: 1383733 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

字符处理命令sort和wc

阅读更多
一 排序命令sort
sort [选项] 文件名
选项:
-f:忽略大小写
-n:以数值型进行排序,默认使用字符串排序。
-r:反向排序
-t:指定分隔符,默认分隔符是制表符。
-k n[,m]:按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾)
 
二 实战
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
unbound:x:996:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
colord:x:995:994:User for colord:/var/lib/colord:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
chrony:x:993:990::/var/lib/chrony:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
setroubleshoot:x:992:989::/var/lib/setroubleshoot:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
saslauth:x:991:76:Saslauthd user:/run/saslauthd:/sbin/nologin
libstoragemgmt:x:990:988:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
cakin24:x:1000:1000:cakin24,cakin,cakin,cakin:/home/cakin24:/bin/bash
test:x:1003:1001::/home/xxx:/bin/bash
cls:x:1001:1001:dgdzmx:/home/cls:/bin/bash
[root@localhost ~]# sort /etc/passwd
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
cakin24:x:1000:1000:cakin24,cakin,cakin,cakin:/home/cakin24:/bin/bash
chrony:x:993:990::/var/lib/chrony:/sbin/nologin
cls:x:1001:1001:dgdzmx:/home/cls:/bin/bash
colord:x:995:994:User for colord:/var/lib/colord:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
libstoragemgmt:x:990:988:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
saslauth:x:991:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:992:989::/var/lib/setroubleshoot:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
test:x:1003:1001::/home/xxx:/bin/bash
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
unbound:x:996:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
[root@localhost ~]# sort -r /etc/passwd
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
unbound:x:996:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
test:x:1003:1001::/home/xxx:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin
systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
setroubleshoot:x:992:989::/var/lib/setroubleshoot:/sbin/nologin
saslauth:x:991:76:Saslauthd user:/run/saslauthd:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
radvd:x:75:75:radvd user:/:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
libstoragemgmt:x:990:988:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
colord:x:995:994:User for colord:/var/lib/colord:/sbin/nologin
cls:x:1001:1001:dgdzmx:/home/cls:/bin/bash
chrony:x:993:990::/var/lib/chrony:/sbin/nologin
cakin24:x:1000:1000:cakin24,cakin,cakin,cakin:/home/cakin24:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
[root@localhost ~]# sort -t ":" -k "3,3" /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
cakin24:x:1000:1000:cakin24,cakin,cakin,cakin:/home/cakin24:/bin/bash
cls:x:1001:1001:dgdzmx:/home/cls:/bin/bash
test:x:1003:1001::/home/xxx:/bin/bash
qemu:x:107:107:qemu user:/:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
libstoragemgmt:x:990:988:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
saslauth:x:991:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:992:989::/var/lib/setroubleshoot:/sbin/nologin
chrony:x:993:990::/var/lib/chrony:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
colord:x:995:994:User for colord:/var/lib/colord:/sbin/nologin
unbound:x:996:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
[root@localhost ~]# sort -n -t ":" -k "3,3" /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
gnome-initial-setup:x:989:984::/run/gnome-initial-setup/:/sbin/nologin
libstoragemgmt:x:990:988:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
saslauth:x:991:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:992:989::/var/lib/setroubleshoot:/sbin/nologin
chrony:x:993:990::/var/lib/chrony:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
colord:x:995:994:User for colord:/var/lib/colord:/sbin/nologin
unbound:x:996:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
cakin24:x:1000:1000:cakin24,cakin,cakin,cakin:/home/cakin24:/bin/bash
cls:x:1001:1001:dgdzmx:/home/cls:/bin/bash
test:x:1003:1001::/home/xxx:/bin/bash
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
 
三 统计命令wc
wc [选项] 文件名
选项
-l:只统计行数
-w:只统计单词数
-m:只统计字符数
 
四 实战
[root@localhost ~]# wc /etc/passwd
45 89 2375 /etc/passwd
[root@localhost ~]# wc -l /etc/passwd
45 /etc/passwd
分享到:
评论

相关推荐

    Linux网络操作系统基础:文件处理wc、sort和diff命令.pptx

    Linux 文件处理命令 - wc、sort 和 diff 命令 Linux 操作系统中,文件处理是日常维护和管理中非常重要的一部分。wc、sort 和 diff 命令是 Linux 中三个非常有用的文件处理命令,本文将详细介绍这三个命令的使用方法...

    shell编程 之 字符处理命令

    介绍了sort wc 命令和条件判断字符串比较。操作环境是Centos6, 附有详细的演示截图。

    Linux文本处理命令合集

    - `wc` 命令用于统计文件中的行数、单词数、字符数以及字节数。 - `wc -lwc -wwc -cwc -L text.txt`:分别统计`text.txt`文件的行数、单词数、字符数和最长一行的长度。 - 在示例中出现了`515238text.txt`的输出,...

    Linux基础-文字处理命令汇总.docx

    在Linux操作系统中,掌握一些基础的文字处理命令是十分重要的,这些命令可以帮助我们高效地操作文本文件,进行数据处理和分析。以下是对所提及的几个关键命令的详细解释: 1. **wc (Word Count)**: `wc`命令用于...

    在Linux的命令行中实现字符出现频率统计的方法.docx

    在Linux的命令行环境中,统计字符出现频率是一项实用的任务,尤其对于文本分析和数据处理。本文将介绍如何利用几个基本的Linux命令来实现这一功能。 首先,`wc`(word count)命令是进行基本计数操作的基础。它可以...

    Linux命令详解手册

    文档编辑命令用于编辑和处理文本文件。 - col用于过滤反斜杠字符; - colrm用于删除文本文件中指定的列; - comm用于比较两个已排序文件的公共行; - csplit用于按内容分割文件; - ed和ex是文本编辑器; - egrep...

    Linux系统运维必备命令

    本文总结了 150 个 Linux 系统运维必备命令,涵盖查询及帮助命令、文件和目录操作命令、查看文件及内容处理命令等多个方面。 查询及帮助命令 * `man` 命令用于查看系统中自带的各种参考手册。 * `help` 命令用于...

    Linux命令手册

    - `cut`和`paste`命令用于处理文本文件的列。 - `ln`命令创建硬链接和符号链接。 - `less`和`more`是文本查看器,`locate`用于快速定位文件路径。 - `mc`是Midnight Commander文件管理器的简称,提供图形化界面管理...

    linux常用命令集合

    - `wc`:计算文件的行数、字符数和单词数,`-l`只显示行数,`-c`显示字符数,`-w`显示单词数。 - `grep`:搜索包含特定模式的行,`-v`显示不包含模式的行,`-i`忽略大小写,`-w`要求模式为完整单词。 - `which`:...

    linux命令详解

    - wc: 统计单词、字符、行数等信息。 4. Linux压缩备份命令 Linux压缩备份命令用于创建压缩文件和进行系统备份。例如: - ar: 创建、修改、提取归档文件。 - bunzip2: 解压缩bzip2格式的文件。 - bzip2: 压缩文件...

    Linux的cut .awk .sed.docx

    wc 命令用于统计文本中的行数、单词数和字符数。其基本语法为: wc [选项] [文件名] 其中,选项可以是以下几个: * -l:统计行数。 * -w:统计单词数。 * -c:统计字符数。 例如,以下命令将统计 lucky 文件中的...

    每个开发人员都应该知道的8个常用Linux命令.docx

    7. **wc**:`wc`(word count)用于统计文件的行数、单词数和字符数。`wc file.txt`将显示文件的行数、单词数和字符总数。 8. **ls**:`ls`命令用于列出目录中的文件和子目录。`ls -l`会以详细格式显示,包括权限、...

    linux运维笔记:最常用的150个命令.docx

    12. wc命令:统计文件的行数、单词数或字节数。 13. iconv命令:转换文件的编码格式。 14. dos2unix命令:将DOS格式文件转换成UNIX格式。 15. diff命令:比较文件的差异,常用于文本文件。 16. vimdiff命令:命令行...

    Linux命令全集一览表

    19. `wc`: 统计文件中的字符数、单词数和行数。 20. `du`: 显示文件和目录的磁盘空间占用情况。 21. `df`: 报告磁盘空间使用情况。 22. `tar`: 打包和解压文件,常用于备份和归档。 23. `gzip`: 压缩和解压缩文件。 ...

    shell常用命令

    使用wc命令可以统计文件的行数、单词数和字符数。 选项 -l 统计行数,-w 统计单词数,-c 统计字符总数。 2. 查找文件 使用locate命令可以快速查找文件的位置。 使用which命令可以查找某个命令的可执行文件路径。 3...

    Linux必学60个命令文件处理

    在Linux操作系统中,掌握一些基本的命令行工具是至关重要的,特别是对于文件和目录的管理。以下是一些关于Linux文件处理的...在探索Linux世界的过程中,不断挑战自己,尝试新的命令和技巧,你的技能会得到显著提升。

    Linux命令学习笔记

    ### Linux命令学习笔记 在本篇文章中,我们将详细介绍如何运用Linux命令来编写高效的Shell脚本。这不仅仅是一份简单的指南,而是...无论是日常维护还是自动化任务处理,这些命令和技巧都能帮助你更高效地完成工作。

    Linux 常用文本处理命令和vim文本编辑器

    在Linux系统中,文本处理命令和文本编辑器是日常操作中的重要工具,它们能帮助用户高效地管理和操作文本文件。本文将详细介绍一些常用的Linux文本处理命令以及vim文本编辑器。 首先,我们来看一些常见的文本处理...

    Linux最常用 150 个命令汇总

    `tr` 命令可以用于替换文本中的字符,也可以用来删除字符,是文本处理中非常实用的命令。 21. **vi/vim** - **功能说明**:命令行文本编辑器。`vi` 和 `vim` 是Linux中最常见的文本编辑器之一,支持多种编辑模式,...

Global site tag (gtag.js) - Google Analytics