我正在尝试编写一个 shell 脚本,它要求在 AZ 或 az 范围内输入一个 ASCII 字符并返回其等效的数值。例如,输出可能如下所示:
scarlet$ Please type a character between A and Z or between a and z:
scarlet$ A
scarlet$ The decimal value of A is: 65
Run Code Online (Sandbox Code Playgroud)
我的尝试:
#!/bin/bash
echo Enter a letter:
read A
echo -n ${A} | od -i | head -1 | cut -b 10- | tr -d " "
Run Code Online (Sandbox Code Playgroud) 如何编写一个 shell 脚本来搜索当前的 UNIX 目录并返回所有 ASCII 文本类型的文件的名称?
如何编写awk
用于读取数据文件students.txt
并以选项卡格式输出数据的shell脚本,如下所示:
Surname Forename MSc Stream Date of Birth
Smith John IT 15.01.1986
Taylor Susan IT 04.05.1987
Thomas Steve MIT 19.04.1986
Run Code Online (Sandbox Code Playgroud)
如果选项卡式列不对齐,请不要担心。
每个(姓氏、名字、理学硕士专业和出生日期)列之间的距离是一个选项卡。
题:
为什么这个波纹管代码对我不起作用?
awk 'BEGIN {IFS=" "} {OFS="\t"} {print $1,$2,$3,$4}' students.txt
Run Code Online (Sandbox Code Playgroud) 我有一个 files students.txt
,具有以下形式的行:
Surname, Forename: Day.Month.Year: Degree
Run Code Online (Sandbox Code Playgroud)
例如:
Smith, John: 15.01.1986: MSc IT
Taylor, Susan: 04.05.1987: MSc IT
Thomas, Steve: 19.04.1986: MSc MIT
Sellen, Jo: 03.07.1987: MSc CSE
Run Code Online (Sandbox Code Playgroud)
如何将下面的sed
命令更改为返回所有1987年出生的学生的姓氏的命令?
$ grep 1987 students.txt | grep -o "^\(.*\),"
Run Code Online (Sandbox Code Playgroud)