Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
Bash ***使用“剪切”命令时已更改为文件_Bash_Cut - Fatal编程技术网

Bash ***使用“剪切”命令时已更改为文件

Bash ***使用“剪切”命令时已更改为文件,bash,cut,Bash,Cut,我从包含以下值的文件中读取记录: 1907;1193;2317;COMMENT;TAG: *** REASON : Circumvention *** SSC 我想将此记录拆分为几个变量: rowId=$(echo $record | cut -d ';' -f1) columnId=$(echo $record | cut -d ';' -f3) columnName=$(echo $record | cut -d ';' -f4)

我从包含以下值的文件中读取记录:

    1907;1193;2317;COMMENT;TAG: *** REASON : Circumvention *** SSC 
我想将此记录拆分为几个变量:

       rowId=$(echo $record | cut -d ';' -f1)
       columnId=$(echo $record | cut -d ';' -f3) 
       columnName=$(echo $record | cut -d ';' -f4) 
       dataValue=$(echo $record | cut -d ';' -f5) 
前3个变量包含正确的值,但变量dataValue包含:

    TAG: testfile.txt test.sh tst.sh REASON : Circumvention compareTxtFiles.sh testfile.txt test.sh tst.sh SSC 
换句话说,系统将***更改为驻留在我的主目录中的文件。 如何避免这种情况并保持文本的原样?

试试以下方法:

record="1907;1193;2317;COMMENT;TAG: *** REASON : Circumvention *** SSC"
dataValue=$(echo "$record" | cut -d ';' -f5)
echo "$dataValue"
看见