我一直很难把正则表达式锁在bash中。我正在编写一个脚本,用于读取包含名称列表的文件。我要验证每个名字。
文件如下所示:
John, Smith
Jane, Doe S.
stan, smith
有效名称的格式如下:
必须有以逗号分隔的姓和名。
名字必须以大写字母开头,后面跟着小写字母(姓氏也是如此)。
中间名首字母是可选的,但如果它确实存在,则必须是大写字母,并且必须后面跟着句点(.)。
这意味着只有文件中的前两个名称是有效的。我已经拖了一段时间了。有人能帮忙吗?
我尝试过这样的表达方式
if [[ "${name}" =~ "^[A-Z]{1}[
我有一个文件夹,里面有一堆JPEG文件,我想检查它们的文件名是否满足我的文件名标准:(1)没有空格,(2)没有下划线,(3)没有连续的大写字母,(4)每个文件名都应该以"-original.jpg“结尾。我输出任何错误的文件名,然后提示用户是否继续。我下面的脚本适用于条件(1)、(2)和(4),但我想添加条件(3)作为另一个条件。 i=0 # Initialize issue counter
# Detect and indicate any filename issues
for file in *.jpg; do
if [[ $file = *" "*
可以从交互式tclsh会话中使用Bash命令。例如,在tclsh会话中,您可以使用
% ls
而不是
$ exec ls
然而,你不能有一个直接调用bash命令的tcl脚本(也就是没有exec)。
如何让tclsh在解释tcl脚本文件时识别bash命令,就像在交互式会话中一样?
我猜有一些tcl包(或类似的东西),它在启动交互会话时自动加载,以支持对bash命令的直接调用。如何在tcl脚本文件中手动加载?
我试图在word文档中搜索带有特定文本的字符串。到目前为止,我已经知道如何在文档中搜索单个字符串,如果使用下面的脚本找到该文本,则返回一条消息。我现在面临的挑战是如何在这个文档中搜索两个字符串中的任何一个。
知道如何使用“grep”命令来编写这个脚本吗?
在文档中搜索匹配的字符串。
#!/bin/bash
FILE="document.doc"
ISSUE_1="Identifies inactive services"
if grep -c "$ISSUE_1" $FILE
then
echo "There is an Issu
为了使学校项目更容易,我想在每一行加上一个分隔符,以一个带bash脚本的大写字母开头。有人能帮我吗?我试着用case命令逐行读取文件,但是它不起作用,我真的不明白我在做什么。到目前为止,这就是我所拥有的:(我刚开始编写脚本,不要激怒我)
#!/bin/bash
input=/home/user/file
while IFS= read -r var
do
case [A-Z]
sed 's/^/#/' file
done
我编写了一个bash脚本,它最终调用了以下内容:
awk 'BEGIN { print "Calculate sum of column: "} { sum += 5; print $0 } { print "Sum of column:", sum, "\n"}'
我想编辑一点,所以要求和的列作为bash包装脚本中的一个参数传递。我试过:
awk -v var="$column" 'BEGIN { print "Calculate sum of column: "} { sum += va
我遇到了一段bash脚本,用于将包含大写字符的文件名转换为小写名称。
LIST="$(ls)"
for name in "$LIST"; do
if [[ "$name" != *[[:upper:]]* ]]; then
continue
fi
#... remainder omitted
这是我不确定的\*[[:upper:]]\*字符类。它读取为0或多个字符,大写字母后面跟着0或多个字符吗?
我经常需要运行一个需要我输入的bash脚本,而我正试图通过自动化来改进我的工作流程。
在我的例子中,我的bash脚本需要我的3个输入:
What interface should i use?
1
Enter the password:
mypass
Please restart the program:
sudo bash restart
如何让我的bash脚本文件自动输入这些值?我试过解决这个问题,但所有的答案都是关于输入yes或no的。
我有一个文件:file.txt,其内容如下:
I am groot, groot me, me groot,I love groot, groot groot, am I groot groot so
我想把所有的单词逐一数一遍。
我使用命令进行单字计数:
tr ' ' '\n' < file.txt | grep "groot" | wc -l
但我想知道有没有办法把所有的单词都数一遍?所需的输出如下所示:
word count
I 4
am 3
groot 8
me