shell学习过程1-如何输出a-z;空格、换行转换

有一堆主机地址:
a.baidu.com
.
.
.
z.baidu.com
如何从这些数据中提取出.baidu.com之前的字母,如:a b...z?

看到该问题,首先想到如何用脚本生成该文件:

思路:

1.定义后缀:suffix=".baidu.com"

2.输出a-z字符和后缀:{a..z}$suffix

3.空格转换行

问题1:如何输出a-z字符:

使用{a..z}输出 a b c d .....z字符间空格分隔

问题2:{a..z}$suffix 输出文本:a.baidu.com b.baidu.com.....z.baidu.com,字符串空格分隔。如何换行分隔?

使用tr ‘ ‘ ‘\n‘

测试文件生成成功。

脚本如下:

#!/bin/bash

suffix=".baidu.com"

echo {a..z}$suffix |tr ‘ ‘ ‘\n‘> hosts.txt

回到问题:提前字母a-z:

思路:1、使用awk :以.分隔字符串,提前第一分段($1)

   2、使用 tr ‘\n‘ ‘ ‘ 将换行符转空格实现a-z字符一行显示

awk -F‘.‘ ‘{print $1}‘ hosts.txt | tr ‘\n‘ ‘ ‘

echo

时间: 2024-11-03 03:42:10

shell学习过程1-如何输出a-z;空格、换行转换的相关文章

linux学习之shell脚本 ------- 输入与输出

[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020] 前面介绍了Shell脚本的基础和运算符等,今天再来看一下关于Shell脚本的输入与输出. Shell输入与输出的一些命令: echo read cat 管道 tee exec Shell输入与输出的一些概念: 文件重定向 标准输入.输出和错误 合并标准输出和标准错误 使用文件描述符 下面,我们挨个看每个命令的用法: 输入输出命令的用法: 1. echo 该命令的作用是可以显

Linux的shell中echo改变输出显示样式

Linux的shell中echo改变输出显示样式 echo -e "\033[32;49;1m [DONE] \033[39;49;0m" 或echo -e "\e[32;49;1m [DONE] \033[39;49;0m" 输出结果 :[DONE] 文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字

Linux shell的标准输入、输出和错误

编译文件时,若编译过程时间长,可以将  标准错误  重定向  输出到一个文件中   2 > 1.txt         也可以通过管道  重定向 到 标准输出    2 > &1 Linux shell的标准输入.输出和错误 标签: linux shellshell重定向 2013-08-19 20:42 30403人阅读 评论(0) 收藏 举报  分类: 系统运维(42)  版权声明:本文为博主原创文章,未经博主允许不得转载. 1.文件描述符 在linux shell执行命令时,每个

python 捕获 shell/bash 脚本的输出结果

#!/usr/bin/python## get subprocess module import subprocess ## call date command ##p = subprocess.Popen("date", stdout=subprocess.PIPE, shell=True) ## Talk with date command i.e. read data from stdout and stderr. Store this info in tuple ## Inte

【LeetCode-面试算法经典-Java实现】【006-ZigZag Conversion(Z字型转换)】

[006-ZigZag Conversion(Z字型转换)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A

shell 字符太多,无法在一行显示,换行

注: 上面反斜杠后面没有空格. 记忆:   反斜杠后的字符将反斜杠替换. shell 字符太多,无法在一行显示,换行,布布扣,bubuko.com

002_python的in,while else,格式化输出,逻辑运算符,int与bool转换,编码

数据 1.什么是数据? x=10,10是我们要存储的数据 2.为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型 数字 字符串 列表 元组 字典 集合 数据类型 1.数字int 数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:#bit_length() 当十进制用二进制表示时,最少使用的位数 v = 11 data = v.bit_length() print(data) 2.布尔值bool 布尔值就两种:True,False.就是

iOS字符串处理_替换(去掉空格换行)、截取

以下代码主要实现了:1.截取"@@"前的字符串:  2.去掉字符串中的"##":  3.去掉字符串中的空格和换行. 希望相互学习相互指正. -----ViewController.m内容如下:------ #import "ViewController.h" #import "HandleString.h" @interface ViewController () { NSString *_str; NSString *_te

输入与输出,数据类型,强制转换,运算符

输入与输出 输出console.write();不换行 输出console.writeline();打印之后换行 输入console.read();不换行 输入console.readline();换行 字符串之间运用加号进行拼接,数字之间加号表示运算. 数据类型: int(整型)   long  double(双精度浮点数)  string(字符串型)  bool 强制转换: int a=covert.toint32(console.readline()); int a=int.parse(c