awk 命令在将输出分配给变量时无法正常工作
awk command does not work properly when assigning output to variable
我正在尝试将文件名中的 space 转换为下划线,我的脚本是
如下所示。
old_file=/home/somedir/otherdir/foobar 20170919.csv
new_file="$(basename "$old_file")" | awk 'gsub(" ","_")'
当我使用 echo
命令时,这个脚本工作正常,
echo "$(basename "$old_file")" | awk 'gsub(" ","_")'
但是在将输出分配给变量时,它不起作用...
有人知道这个主意吗?
实际上不需要awk
,请注意下面的一个将所有space
替换为underscore
,不仅仅是文件名,它也可以是路径
$ old_file="/home/somedir/otherdir/foobar 20170919.csv"
$ newfile="${old_file// /_}"
$ echo "$newfile"
/home/somedir/otherdir/foobar_20170919.csv
我正在尝试将文件名中的 space 转换为下划线,我的脚本是 如下所示。
old_file=/home/somedir/otherdir/foobar 20170919.csv
new_file="$(basename "$old_file")" | awk 'gsub(" ","_")'
当我使用 echo
命令时,这个脚本工作正常,
echo "$(basename "$old_file")" | awk 'gsub(" ","_")'
但是在将输出分配给变量时,它不起作用...
有人知道这个主意吗?
实际上不需要awk
,请注意下面的一个将所有space
替换为underscore
,不仅仅是文件名,它也可以是路径
$ old_file="/home/somedir/otherdir/foobar 20170919.csv"
$ newfile="${old_file// /_}"
$ echo "$newfile"
/home/somedir/otherdir/foobar_20170919.csv