leetcode 上的 bash 程序

*/-->

pre.src {background-color: Black; color: White;}

leetcode 上的 bash 程序

Table of Contents

  • Tenth Line
  • Transpose File
  • Valid Phone Numbers
  • Word Frequency

注: 以下程序大部份从 leetcode 的讨论上看来的...

Tenth Line

How would you print just the 10th line of a file?
For example, assume that file.txt has the following content:

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10

Your script should output the tenth line, which is:

Line 10

awk ‘NR == 10‘ file.txt

sed -n ‘10p‘ file.txt

cat file.txt | for i in `seq 1 10`; do read line; [ $i -eq 10 ] && echo $line; done

for i in `seq 1 10`; do read line; [ $i -eq 10 ] && echo $line; done < file.txt

tail -n+10 file.txt|head -1

Transpose File

Given a text file file.txt, transpose its content.
You may assume that each row has the same number of columns and each field is separated by the ‘ ‘ character.
For example, if file.txt has the following content:

name age
alice 21
ryan 30

Output the following:

name alice ryan
age 21 30

ncol=`head -n1 file.txt | wc -w`
for i in `seq 1 $ncol`; do
    echo `cut -d‘ ‘ -f$i file.txt`
done

Valid Phone Numbers

Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bash script to print all valid phone numbers.
You may assume that a valid phone number must appear in one of the following two formats: (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit)
You may also assume each line in the text file must not contain leading or trailing white spaces.
For example, assume that file.txt has the following content:

987-123-4567
123 456 7890
(123) 456-7890

Your script should output the following valid phone numbers:

987-123-4567
(123) 456-7890

grep -E ‘^([0-9]{3}-|\([0-9]{3}\) )[0-9]{3}-[0-9]{4}\b‘ file.txt

Word Frequency

Write a bash script to calculate the frequency of each word in a text file words.txt.
For simplicity sake, you may assume:
words.txt contains only lowercase characters and space ‘ ‘ characters.
Each word must consist of lowercase characters only.
Words are separated by one or more whitespace characters.
For example, assume that words.txt has the following content:

the day is sunny the the
the sunny is is

Your script should output the following, sorted by descending frequency:

the 4
is 3
sunny 2
day 1

cat words.txt | tr -s ‘ ‘ ‘\n‘ | sort | uniq -c | sort -rn| awk ‘{print $2,$1}‘

cat words.txt | xargs -n 1 | sort | uniq -c | sort -rn| awk ‘{print $2,$1}‘
时间: 2024-10-18 12:59:37

leetcode 上的 bash 程序的相关文章

同一个程序eclipse上运行的结果与leetcode上运行的不一样

题目为leetcode第一道题Two Sum,以下为java写的代码: 当输入数据target=0,  nums=[0,4,3,0]时,eclipse上运行的结果与leetcode上运行的不同 1.eclipse下的运行结果: 2.leetcode下的运行结果: 把算法仔细理了一遍觉得并没有错 ,写的第一个leetcode卡在这了,好纠结!会不会是两者编译器差异造成的?以下贴出完整代码:

如何实现在Windows上运行Linux程序,附示例代码

如何实现在Windows上运行Linux程序,附示例代码 微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理,而今天的这篇文章将会讲解如何自己实现一个简单的原生Linux程序运行器, 这个运行器在用户层实现, 原理和Bash On Windows不完全一样,比较接近Linux上的Wine. 示例程序完整的代码在github上, 地址是 https://github.com/30324

在集群上运行caffe程序时如何避免Out of Memory

不少同学抱怨,在集群的GPU节点上运行caffe程序时,经常出现"Out of Memory"的情况.实际上,如果我们在提交caffe程序到某个GPU节点的同时,指定该节点某个比较空闲的gpu id,便可以避免"Out of Memory"的情况.步骤如下: 1. 在提交任务前,制作一个带有“nvidia-smi”命令的run_gpu.sh文件 #!/bin/bash #$ -V #$ -cwd #$ -j y #$ -S /bin/bash nvidia-smi

CentOS6.5上部署redmine程序

介绍:redmine是一个灵活的项目管理系统,是一个基于ruby on rails的框架开发的开源项目,可以跨平台使用,而且支持多种数据库. 具体细则,请大家参考官方网站:http://www.redmine.org/ 系统:CentOS 6.5 所需软件:redmine 下面的教程是在一个全新得系统上安装redmine程序 首先,我们需要安装以下的依赖关系 [[email protected] ~]#yum -y install zip unzip libyaml-devel zlib-dev

SecureCRT上传bash: rz: command not found

SecureCRT上传bash: rz: command not found -bash: rz: command not found rz命令没找到? 执行sz,同样也没找到. 安装lrzsz: # yum -y install lrzsz 现在就可以正常使用rz.sz命令上传.下载数据了. 使用方法: 上传文件 # rz filename 下载文件 # sz filename

linux(ubuntu12.04)下手机真机调试eclipse上的android程序

模拟器太慢了,而且在模拟器上运行程序的效果毕竟还是跟在真机上有点区别的,所以建议大家尽量使用真机调试.把android手机通过usb线连接至电脑,之后步骤如下: 1. 在/etc/udev/rules.d/目录下新建一个51-android.rules文件,文件内容为: SUBSYSTEM == "usb",ENV{DEVTYPE} == "usb_device",MODE = "0666" 2.$ sudo chmod a+rx /etc/ud

IDEA调试服务器上部署的程序

提出问题: 一个程序,部署在自己的电脑上,debug调试,相信大家都会,但是,如果我想debug调试非本地部署的程序怎么办呢.比如测试服务器上部署的程序. 其实这样的需求也是经常有的,比如一个大型的项目有很多模块,也有很多自己的或外部的依赖,不可能在自己电脑上整个都搭建一整套完整的环境.先不管有多复杂,有时候公司的电脑配置再不给力,部署一个大型程序更是雪上加霜.通常这样的程序都是直接部署到专门的开发或测试环境里面.很少在自己电脑上部署测试.再加上运用像jenkins这样的自动化的部署工具,部署只

如何使用SDK在Ubuntu设备(包括仿真器和桌面)上运用应用程序

简介 有三种运行通过SDK创建的应用程序的方式:在桌面上,在联网的Ubuntu设备上,以及在仿真器中.这些方式为互补性方式,因为各有优缺点.您首先将了解如何管理SDK的设备类型,以及哪一个类型用于测试应用程序的不同方面. 设置设备工具包 设备工具包是SDK的一个重要概念:它们使您能够为数个设备和架构生成应用程序,无论您的开发环境如何.如果您还未添加任何设备工具包也不必担心,在您启动新项目时,您始终可以创建新工具包. 请查看工具包上的文件详细了解这些类型,或只需遵循后续步骤. 在首次创建项目时,S

.net 禁止远程查看应用程序错误的详细信息,服务器上出现应用程序错误

打开页面时出现以下错误 ? "/"应用程序中的服务器错误. 运行时错误 说明:?服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因).但可以通过在本地服务器计算机上运行的浏览器查看.? 详细信息:?若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的"web.config"配置文件中创建一个 <customErrors> 标记.然后应将此 <cust