在 Solaris 中使用 awk 系统需要帮助
need assistance with awk using system in Solaris
试图更熟悉 awk,并且正在使用系统命令跨服务器 scp 一堆文件。
所以我尝试了这个,但它不起作用。不报错,只是什么都不做。
ls *.dmp | awk ' {system("nohup scp "" username@server:/server/file/path/ &")}'
但是,这有效
ls *.dmp | awk ' {print "nohup scp "" username@server:/server/file/path/ &"}' > scp.sh && chmod +x scp.sh && ./scp.sh
目标只是尝试执行 awk returns 的所有内容。
Solaris 10 的 /usr/bin/awk
没有 system
函数,当您调用未定义的函数时它不会引发错误;函数的 return 值将是它的参数。相反,使用 /usr/xpg4/bin/awk
或 nawk
.
正如 Glenn 和 Andrew 指出的那样,如果您需要做的只是 运行 一个 shell 命令多次,每次一个参数都不同,这可以在 shell 本身没有涉及 awk。
for f in *.dmp
do
nohup scp "$f" username@server:/server/file/path/ &
done
试图更熟悉 awk,并且正在使用系统命令跨服务器 scp 一堆文件。
所以我尝试了这个,但它不起作用。不报错,只是什么都不做。
ls *.dmp | awk ' {system("nohup scp "" username@server:/server/file/path/ &")}'
但是,这有效
ls *.dmp | awk ' {print "nohup scp "" username@server:/server/file/path/ &"}' > scp.sh && chmod +x scp.sh && ./scp.sh
目标只是尝试执行 awk returns 的所有内容。
Solaris 10 的 /usr/bin/awk
没有 system
函数,当您调用未定义的函数时它不会引发错误;函数的 return 值将是它的参数。相反,使用 /usr/xpg4/bin/awk
或 nawk
.
正如 Glenn 和 Andrew 指出的那样,如果您需要做的只是 运行 一个 shell 命令多次,每次一个参数都不同,这可以在 shell 本身没有涉及 awk。
for f in *.dmp
do
nohup scp "$f" username@server:/server/file/path/ &
done