我想编写一个循环遍历15个字符串的脚本(可能是数组?)这可能吗?
就像是:
for databaseName in listOfNames
then
# Do something
end
Run Code Online (Sandbox Code Playgroud) 我有一个ksh脚本,它返回一长串值,换行符分隔,我想只看到唯一/不同的值.有可能这样做吗?
例如,假设我的输出是目录中的文件后缀:
Run Code Online (Sandbox Code Playgroud)tar gz java gz java tar class class
我希望看到如下列表:
Run Code Online (Sandbox Code Playgroud)tar gz java class
有没有办法在Unix中删除文件中的重复行?
我可以使用sort -u
和uniq
命令,但我想使用sed
或awk
.那可能吗?
我尝试在Bash中迭代一个关联数组.它似乎很简单,但循环不遵循数组的初始顺序......我不明白错误在哪里:/
这是一个简单的脚本:
#!/bin/bash
echo -e "Workspace\n----------";
lsb_release -a
echo -e "\nBash version\n----------";
echo -e $BASH_VERSION."\n";
declare -A groups;
groups["group1"]="123";
groups["group2"]="456";
groups["group3"]="789";
groups["group4"]="abc";
groups["group5"]="def";
echo -e "Result\n----------";
for i in "${!groups[@]}"
do
echo "$i => ${groups[$i]}";
done
Run Code Online (Sandbox Code Playgroud)
输出 :
Workspace
----------
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
Bash version
----------
4.3.11(1)-release.
Result
----------
group3 => 789
group2 => 456
group1 => 123
group5 => def
group4 => abc
Run Code Online (Sandbox Code Playgroud)
为什么我没有"group1","group2"等?
我不希望有一个alphanum顺序,我只是想循环遵循数组的初始声明的顺序...
有办法吗? …
我有两个阵列,说:
arr1=("one" "two" "three")
arr2=("two" "four" "six")
Run Code Online (Sandbox Code Playgroud)
在Bash中将这两个数组联合起来的最佳方法是什么?
如何创建仅包含 Array 中存在的唯一元素的 newArray?
例如:ARRAY 分别包含aa ab bb aa ab cc
ARRAY[0-5] 处的元素。
当我打印 newARRAY 时,我只想要aa ab bb cc
分别在 newARRAY[0-3] 处。
我已经搜索堆栈溢出一段时间了,但没有解决我的问题。我试图做newARRAY=$(ARRAY[@] | sort -u | uniq
,但重复的元素仍然存在。
假设我有一个像这样的数组(aabbbccd)我希望数组只有一个字符/字符串(abcd)是否有任何方式将数组转换为行,所以我可以使用sort&uniq而不使用临时文件?
谢谢 !