我可以使用以下命令将文件名添加到名为test1的文本文件中的每一行:
Option Strict On
Public Class Form1
Dim Answer As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim Buttons() As Control = {Button1, Button2, Button3, Button4}
Dim Rand As New Random()
Dim Index As Integer = Rand.Next(0, Buttons.Length - 1)
For i As Integer = 0 To 3
Buttons(i).Text = CStr(Rand.Next(0, 100) * Rand.Next(0, 100))
Next
Answer = CInt(Label1.Text) * CInt(Label2.Text)
Buttons(Index).Text = CStr(Answer)
End Sub
Sub CheckAnswer(ByVal Guess As Integer)
If Guess = Answer Then
MsgBox("Right!")
Else
MsgBox("Wrong!")
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click
Dim objBtn As Button = DirectCast(sender, Button)
CheckAnswer(CInt(objBtn.Text))
End Sub
End Class
我想将文件的完整路径添加到文件的每一行。
答案 0 :(得分:2)
使用readlink
应该适合您。
更多信息here
要获得完整路径使用:
readlink -f relative/path/to/file
如果您的系统上没有
readlink -f
,您可以使用此功能:function myreadlink() { ( cd $(dirname $1) # or cd ${1%/*} echo $PWD/$(basename $1) # or echo $PWD/${1##*/} ) }
编辑:
正如评论中所提到的,编辑要使用的myreadlink
函数是个好主意
pushd $(dirname $1) ... popd
保存工作目录,然后在执行后恢复它。
答案 1 :(得分:1)
请您试着跟随并告诉我这是否对您有帮助。
nawk -v PWD=`pwd` '{print PWD"\,"$0}' Input_file
在上面的命令中,我正在考虑你的Input_file存在于执行此命令的当前目录中,如果此命令是任何脚本的一部分,那么你可以用它的文件名设置PWD变量,或者即使你在将此命令输入脚本之前,正在执行cd到一个路径,然后这应该可以工作。
另外,因为如果-v PWD
无法正常工作,我在系统中不会发出如此公正的警告,请尝试使用-vPWD
。希望这会有所帮助。
EDIT1:根据OP的要求在解决方案中添加文件名。
nawk -v PWD=`pwd` '{print PWD"/"FILENAME","$0}' Input_file
PS:如果你试图在上面转义逗号,那么你不需要放\,
以防你想在输入文件的行和路径之间添加\,
然后将\\,
放在\
这里。