Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix ksh循环并将结果放入变量_Unix_Shell - Fatal编程技术网

Unix ksh循环并将结果放入变量

Unix ksh循环并将结果放入变量,unix,shell,Unix,Shell,我有一件简单的事情要做,但我是UNIX的新手。 所以,我有一个文件,每行都有一个ID。 我需要检查文件并将所有ID放入一个变量中 我在Java中尝试过类似的东西,但不起作用 for variable in `cat myFile.txt` do param=`echo "${param} ${variable}"` done 它似乎并没有将所有值添加到param中 谢谢。试试这个: param=`cat myFile.txt | tr '\n' ' '` tr命令tr将所有出现的\

我有一件简单的事情要做,但我是UNIX的新手。 所以,我有一个文件,每行都有一个ID。 我需要检查文件并将所有ID放入一个变量中

我在Java中尝试过类似的东西,但不起作用

for variable in `cat myFile.txt`
do
    param=`echo "${param} ${variable}"`
done 
它似乎并没有将所有值添加到param中

谢谢。

试试这个:

param=`cat myFile.txt | tr '\n' ' '`
tr
命令
tr
将所有出现的
\n
(新行)转换为空格。然后我们将结果分配给param变量

可爱。

awk

var=$(awk '1' ORS=" " file)
ksh

读取时-r行
做
t=“$t$行”
完成<文件
回音$t
我会使用:

param=$(<myFile.txt)
如果与引号一起使用,文件名将保留在单独的行中,如中所示:

cat $param
echo "$param"
请注意,Korn shell的特殊情况是“
$”(
param=“$”(

读取行时
做
param=“$param$行”$”\n
完成
缺少一些东西。在我的文件中,我有这样的东西:……AAA443618837935在参数中,我只有3793536188,所以前一行的最后一行和半行。你能发布一个更完整的文件片段吗?它是一个DOS文件,有CR搞乱了事情-请参阅我答案下面的注释。实际上,它可以显示,但我无法将其放入将其转换为变量/I能够显示所有行。这段代码看起来不错,但结果相同。我只有最后一行和前一行的一半。我的txt文件有什么问题?@CC:CRLF line endings?正如中所示,该文件来自DOS,因此您在变量中看到的是“
name1\rllongername\rn3
”和输出sh只欠'n3ngername'。
\r'代表回车符。我得到了它。实际上我的txt文件不是UNIX格式。我只是打开了文件并从编辑器中选择了UNIX格式。我想一定有一些特殊字符不可见。非常感谢大家。
echo "$param"
param=
for variable in `cat myFile.txt`
do
    param="${param} ${variable}"
done
perllib=$(dirname $(dirname $(which perl)))/lib
perllib=`dirname \`dirname \\\`which perl\\\`\``/lib
param="$(< myFile.txt)"
while read line
do
    param="$param$line"$'\n'
done < myFile.txt