我想在Fortran 90的使用系統命令執行如下因素命令:如何輸出(使用寫入語句)撇號「'」?
command = awk '{print "C"NR,$1,$2,$3}' filename1 > filename2
call system(trim(command))
我這裏文件名1和文件名2是在Fortran 90的程序變量。 但問題是,任何字符都可以分配給一個變量,這些變量包含在單引號之間,我的變量也應該由撇號組成。我不知道如何將它使用Fortran鍵入90
我想在Fortran 90的使用系統命令執行如下因素命令:如何輸出(使用寫入語句)撇號「'」?
command = awk '{print "C"NR,$1,$2,$3}' filename1 > filename2
call system(trim(command))
我這裏文件名1和文件名2是在Fortran 90的程序變量。 但問題是,任何字符都可以分配給一個變量,這些變量包含在單引號之間,我的變量也應該由撇號組成。我不知道如何將它使用Fortran鍵入90
你可以嘗試使用參數單引號,像這樣:
character, parameter :: sq = "'"
然後你可以連鎖的東西放在一起這樣的:
command = 'awk '//sq//'{print "C"NR,$1,$2,$3}'//sq//' '// &
trim(filename1)//' > '//trim(filename2)
或者,您可以單,雙引號中的字符串之間切換:
command = "awk '" // '{print "C"NR,$1,$2,$3}' // "' " // &
trim(filename1) // ' > ' // trim(filename2)
你不應該在做些什麼ll正在使用Hollerith格式指令:
write(command, 100) trim(f1), trim(f2)
100 FORMAT(29Hawk '{print "C"NR,$1,$2,$3}' , A, " > ", A)
這就是爲什麼我甚至沒有告訴你。哦。
只需要使用兩個撇一排字符串中
command = 'awk ''{print "C"NR,$1,$2,$3}'' filename1 > filename2'
另外,由於我沒有注意到filename1
和filename2
是變量,如chw21顯示了必須添加它們:
// trim(filename1)//' > '//trim(filename2)
嚴重的是,不要使用hollerith。它從Fortran 95中刪除,因爲它產生的問題比解決問題的更多。 – chw21
感謝您的回答。 –