sex = ` echo $u | awk '{print $3}' ` # 第一种. 分步定义统计变量 #count=`echo $[${count_by_sex[$sex]}+1]` #count_by_sex[$sex]=`echo $count` # 第二种. 直接使用数组自增 #let count_by_sex[$sex]++ # 第三种. 将第一种方法融合成一条 count_by_sex [ $sex ] = ` echo $ [ $ { count_by_sex [ $sex ] } +1 ] ` done < ./test.txt for i in ${ ! count_by_sex [ @ ] } echo $i : ${count_by_sex [ $i ] }

写入多行文本到文件

#!/bin/bash
echo "1
4" > echo_lines.txt
cat <<-FFF > cat_lines.txt

以上两种都能将指定格式的数据写入文本。

需要注意的是
echo 方式引号如果没和数据在一行,会有一个空行

cat 方式说明
<< 表示将FFF 中定义的内容收集到 cat 中
FFF 定义多行文本结束符,通常这个标识符使用 EOF(end of file)并非只能EOF
>/>> cat_lines.txt 将cat 收集到的文本以覆盖/追加的方式重定向到文件 cat_lines.txt 中

cat_lines.txt 将cat 收集到的文本以覆盖/追加的方式重定向到文件 cat_lines.txt 中。FFF 定义多行文本结束符,通常这个标识符使用 EOF(end of file)并非只能EOF。echo 方式引号如果没和数据在一行,会有一个空行。<< 表示将FFF 中定义的内容收集到 cat 中。以上两种都能将指定格式的数据写入文本。 从文件读取内容的方法有两种: 第一种:在for循环中使用cat 来读取文件的内容; 第二种:在while循环中使用read命令,通过文件描述符一行一行读取文件内容。 二、准备文件 循环获取某一个文件中的IP,并将它定义为变量 [root@master iptest]# cat ip 192.186.240.23 192.186.240.56 读取文件delname文件读取到的文件一行都将读取到的内容,以此命名 创建一个文件,每次创建停止3秒,如此循环,直到读取完毕。 #!/bin/bash for line in `cat delname` mkdir /root/$line echo "yes" sleep 3
前言:在开始之前我们先创建一个test文件然后再里面写入一些内容,然后继续创建一个test02空文件,我们要实现的效果是将test中的文件利用shell循环读取写入到test02文件中! 循环读取文件内容 1.创建一个在根目录下create一个test文,然后往里面随便写入一些内容。 2.创建一个空的test02文件: 3.编写shell脚本,我们创建编写一个test.sh脚本来读取test文件中的内容。 这个脚本会创建一个包含三个文件名的数组,然后使用一个循环来遍历数组中的每个文件名。在每个文件中,使用`cat`命令和`<<`操作符来添加多行文本。注意,`EOF`是一个标记,用于指示文本块的开始和结束。 ### 回答2: 创建文件列表并添加多行文本Shell脚本可以通过以下步骤实现: 1. 首先,我们需要创建一个空文件列表,用于存储文件名。可以使用`touch`命令创建一个空文件,例如:`touch filelist.txt` 2. 接下来,我们可以使用`echo`命令将多行文本添加到文件中。例如,添加三行文本可以使用以下命令: echo "第一行文本" >> filelist.txt echo "第二行文本" >> filelist.txt echo "第三行文本" >> filelist.txt 其中`>>`表示追加文本文件的末尾。 3. 如果你要添加大量的文本,可以使用循环结构,将文本行作为循环变量,并使用循环来逐行添加到文件中。例如,添加文本可以使用以下Shell脚本: for i in {1..10}; do echo "第${i}行文本" >> filelist.txt 4. 最后,你可以使用`cat`命令来查看文件的内容,以确保文本已成功添加到文件列表中。例如:`cat filelist.txt` 通过上述步骤,你可以创建一个文件列表,并将多行文本添加到该文件中。记得根据实际需要修改文件名和文本内容。 ### 回答3: 创建文件列表并添加多行文本Shell脚本可以使用以下代码: ```shell #!/bin/bash # 创建一个文件列表 files=("file1.txt" "file2.txt" "file3.txt") # 遍历文件列表来添加多行文本 for file in "${files[@]}" echo "This is line 1." >> $file echo "This is line 2." >> $file echo "This is line 3." >> $file 首先,我们使用`files`数组来创建一个包含所有文件名的文件列表。这里我们创建了三个文件:`file1.txt`,`file2.txt`和`file3.txt`。 然后,使用`for`循环来遍历文件列表中的每个文件。在循环中,我们使用重定向运算符`>>`将每行文本追加到对应的文件中。 以上代码将向每个文件添加三行文本,内容分别是: This is line 1. This is line 2. This is line 3. 运行该脚本后,即可完成创建文件列表并添加多行文本的操作。